Node.js 为什么秘密管理工具SecretHub在本地工作,但在heroku生产中不工作?

Node.js 为什么秘密管理工具SecretHub在本地工作,但在heroku生产中不工作?,node.js,heroku,secret-key,app-secret,Node.js,Heroku,Secret Key,App Secret,我决定为Heroku托管的node.js服务器实现一个秘密管理服务() 其安装过程如下所示: npm install --save-dev @secrethub/cli secrethub init (注册后将提供凭证) 然后将主启动脚本调整为: secrethub run -- nodemon server.js 现在,当我使用npm run start在本地运行应用程序时,一切都很好,服务器正常运行,注入了秘密,一切都很好。但当我部署到Heroku时,应用程序在启动脚本上立即崩溃: se

我决定为Heroku托管的node.js服务器实现一个秘密管理服务()

其安装过程如下所示:

npm install --save-dev @secrethub/cli
secrethub init
(注册后将提供凭证)

然后将主启动脚本调整为:

secrethub run -- nodemon server.js
现在,当我使用
npm run start
在本地运行应用程序时,一切都很好,服务器正常运行,注入了秘密,一切都很好。但当我部署到Heroku时,应用程序在启动脚本上立即崩溃:

server@1.0.0开始/应用2020-09-28222:42:08.353088+00:00 app[web.1]:>secrethub运行--nodemon server.js 2020-09-28322:42:08.353088+00:00应用程序[网站1]: 2020-09-28322:42:08.469775+00:00应用程序[web.1]:遇到错误: 处理模板文件“secrethub.env”时出错:找不到 凭证文件。转到以创建一个 account或run
secrethub init
在上使用已存在的帐户 这台机器。(secrethub.credential\u不存在) (运行模板解析失败)2020-09-28222:42:08.484159+00:00 应用程序[web.1]:npm错误!代码ELIFECYCLE 2020-09-28322:42:08.484663+00:00 应用程序[web.1]:npm错误!errno 1 2020-09-28222:42:08.493367+00:00 应用程序[web.1]:npm错误!阿弗莱-stripe@1.0.0开始:
secrethub运行--nodemon server.js
2020-09-28T22:42:08.493885+00:00应用程序[web.1]:npm 犯错误退出状态1 2020-09-28222:42:08.494399+00:00应用程序[网站1]:npm 犯错误2020-09-28322:42:08.494840+00:00应用程序[web.1]:npm错误!失败于 阿弗莱酒店-stripe@1.0.0开始脚本。2020-09-28 22:42:08.495292+00:00 应用程序[web.1]:npm错误!这可能不是npm的问题。有 上面可能有额外的日志输出。 2020-09-28322:42:08.515466+00:00应用程序[web.1]: 2020-09-28322:42:08.516772+00:00应用程序[web.1]:npm错误!完整的日志 可在以下位置找到此次运行的详细信息:2020-09-28322:42:08.517179+00:00 应用程序[web.1]:npm错误
/app/.npm/_logs/2020-09-28222_42_08_498Z-debug.log


就像我说的,我已经报名了。有人知道部署到Heroku和使用secret management services时出现的任何问题吗?

从日志的以下部分判断,似乎SecretHub CLI无法访问凭据:

找不到凭据文件。转到以创建帐户,或运行secrethub init以使用此计算机上已存在的帐户。(secrethub.credential\u不存在)


您可以通过为Heroku应用程序创建服务帐户来解决此问题。你可以跟着看怎么做。您可以将生成的凭据配置为Heroku中的
SECRETHUB\u credential
环境变量(请参阅如何)。

从日志的以下部分判断,似乎SECRETHUB CLI没有访问凭据的权限:

找不到凭据文件。转到以创建帐户,或运行secrethub init以使用此计算机上已存在的帐户。(secrethub.credential\u不存在)

您可以通过为Heroku应用程序创建服务帐户来解决此问题。你可以跟着看怎么做。您可以在Heroku中将生成的凭据配置为
SECRETHUB\u credential
环境变量(请参阅如何)