对于使用Chef v11或更早版本的OpsWorks documentation,您可以通过执行以下操作来访问部署密钥:
include 'deploy'
key = node[:deploy]['appshortname'][:scm][:ssh_key]
但是根据OpsWorks with Chef 12文档:
迁移从Chef访问堆栈设置的配方代码 对于Linux到Chef 12 Linux的11.10及更早版本,您必须将代码修改为:
- 访问Chef数据包而非Chef属性。
- 使用Chef搜索而不是Chef节点对象。
- 使用AWS OpsWorks数据包名称(例如aws_opsworks_app),而不是使用AWS * OpsWorks属性名称,例如opsworks和deploy。
我的问题是,有关如何访问ssh_key for deploy的文档尚未更新,以显示数据标签中我可以找到密钥的位置。
是否有人知道最新文档或有人指出我找到ssh部署密钥的正确方向?
答案 0 :(得分:2)
这在本文档页面的“app_source”下列出:http://docs.aws.amazon.com/opsworks/latest/userguide/data-bag-json-app.html#data-bag-json-app-app-source
以上是上面几页中略有改动的示例,其中还显示了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