Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 阅读Redhat OpenShift online内部的秘密?_Node.js_Github_Openshift_App Secret - Fatal编程技术网

Node.js 阅读Redhat OpenShift online内部的秘密?

Node.js 阅读Redhat OpenShift online内部的秘密?,node.js,github,openshift,app-secret,Node.js,Github,Openshift,App Secret,我得到了一个Redhat OpenShift在线入门vps,用于托管我的discord机器人。我已将其上传到github,当然,不包括我的discord令牌和其他API密钥:^) 如何让OpenShift使用存储和读取客户端机密? 如果有帮助的话,我正在使用nodejs8框架。机密在像GitHub这样的源代码版本控制托管服务中没有位置 关于OpenShift,它包括一个编码的-64配置映射,您可以在其中注入机密信息 但长期机密信息存储(将注入OpenShift机密)应该存储在适当的金库中 例如,

我得到了一个Redhat OpenShift在线入门vps,用于托管我的discord机器人。我已将其上传到github,当然,不包括我的discord令牌和其他API密钥:^)

如何让OpenShift使用存储和读取客户端机密?
如果有帮助的话,我正在使用nodejs8框架。

机密在像GitHub这样的源代码版本控制托管服务中没有位置

关于OpenShift,它包括一个编码的-64配置映射,您可以在其中注入机密信息

但长期机密信息存储(将注入OpenShift机密)应该存储在适当的金库中

例如,如文章“”所述的

其余部分介绍了该解决方案,但即使您不使用该特定主机,总体思路(外部vault类型存储)仍然是:

  • An(在pod主容器启动之前运行)通过加密连接向Vault控制器请求a。
    包装凭证允许您传递凭证,而不需要任何中间人实际查看凭证
  • Vault控制器从Kubernetes API服务器检索pod详细信息
  • 如果pod存在并包含Vault Project.io/Policys批注,则Vault控制器将调用Vault并生成一个唯一的包装令牌,以访问批注中提到的Vault策略。此步骤要求信任pod作者,使其能够使用正确的策略。生成的令牌具有可配置的TTL
  • Vault控制器使用通过加密连接从Kubernetes API获得的pod IP“回调”Init容器,并将新创建的包装令牌传递给它。请注意,Vault控制器不信任pod,它只信任主API
  • Init容器打开令牌以获取Vault令牌,该令牌将允许访问凭据
  • Vault令牌将写入两个容器(emptyDir)和Init容器出口之间共享的卷中的已知位置
  • 主容器从令牌文件中读取令牌。现在,主容器可以使用令牌检索创建令牌时考虑的策略所允许的所有机密
  • 如果需要,主容器将续订令牌以防止其过期