Opsworks с Chef 12 не может получить доступ к deploy ssh_key

Согласно документации OpsWorks с Chef v11 или более ранней версии, вы можете получить доступ к ключу развертывания, выполнив:

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

Однако согласно документации OpsWorks с Chef 12:

Чтобы перенести код рецепта, который обращается к настройкам стека с Chef 11.10 и более ранних версий для Linux, на Chef 12 Linux, необходимо изменить код на:

  • Получите доступ к сумкам данных Chef вместо атрибутов Chef.
  • Используйте поиск Chef вместо объекта узла Chef.
  • Используйте имена пакетов данных AWS OpsWorks, например aws_opsworks_app, вместо использования имен атрибутов AWS * OpsWorks, таких как opsworks и deploy.

Моя проблема в том, что документация о том, как получить доступ к ssh_key для развертывания, не была обновлена, чтобы показать, где в пакетах данных я могу найти ключ.

Кто-нибудь знает о современной документации или кто-то может указать мне правильное направление для поиска ключа развертывания ssh?

1 ответ

Это указано на этой странице документации в разделе "app_source": http://docs.aws.amazon.com/opsworks/latest/userguide/data-bag-json-app.html

Вот немного измененный пример со страницы выше, где также показан ключ 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
Другие вопросы по тегам