2

根据使用 Chef v11 或更早版本的OpsWorks 文档,您可以通过执行以下操作访问部署密钥:

include 'deploy'
key = node[:deploy]['appshortname'][:scm][:ssh_key]

但是根据OpsWorks with Chef 12文档:

要将访问堆栈设置的配方代码从适用于 Linux 的 Chef 11.10 和更早版本迁移到 Chef 12 Linux,您必须将代码修改为:

  • 访问 Chef 数据包而不是 Chef 属性。
  • 使用 Chef 搜索而不是 Chef 节点对象。
  • 使用 AWS OpsWorks 数据包名称,例如 aws_opsworks_app,而不是使用 AWS * OpsWorks 属性名称,例如 opsworks 和 deploy。

我的问题是有关如何访问 ssh_key 进行部署的文档尚未更新,以显示我可以在数据包中的哪个位置找到密钥。

有谁知道最新的文档,或者有人可以指出我找到 ssh 部署密钥的正确方向吗?

4

1 回答 1

2

这在本文档页面的“app_source”下列出:http: //docs.aws.amazon.com/opsworks/latest/userguide/data-bag-json-app.html#data-bag-json-app-app -资源

这是上面页面的一个稍微改变的例子,它也显示了 SSH 密钥:

search("aws_opsworks_app").each do |app|
  Chef::Log.info("********** The app's short name is '#{app['shortname']}' **********")
  Chef::Log.info("********** The app's ssh_key is '#{app['app_source’][‘ssh_key’]}’ **********")
end
于 2015-12-16T16:48:46.373 回答