Я никогда не пробовал пакеты данных, но это, вероятно, потому что я нахожу все, кроме chef-solo, слишком сложным. Вот почему я использую рецепты от шеф-повара с сервисом Scalarium .
Так что проблема с паролями или, например, закрытые ключи и все другие учетные данные довольно сложны. У меня тоже есть куча рецептов, где пароли нужно создавать или устанавливать правильно.
Обычно я задаю то, что скаляры называют custom json . Этот json похож на node.json
, который некоторые люди дают шеф-повару, используя chef-solo -j node.json
.
Так, например, в моем настраиваемом json в веб-интерфейсе Scalarium у меня есть следующее:
{"super_secure_password":"foobar"}
Для этого мой суперзащищенный пароль 1019 * доступен во время работы моего шеф-повара в node[:super_secure_password]
, и я могу использовать его в рецептах или шаблонах.
Это прекрасно работает, пока я развертываю свой сервер только с помощью Scalarium, но мы также используем наши рецепты в локальных бродячих коробках для среды разработки и более простого тестирования. И когда я использую vagrant (или даже сам по себе chef-solo), у меня нет доступа к custom json в Scalarium.
Это то, что я делаю, чтобы исправить это, в my_recipe/attributes/default
:
set_unless[:super_secure_password] = "test123"
Это означает, что когда мой рецепт запускается вне скалярия, пароль все еще доступен в node[:super_secure_password]
, и мои рецепты работают и так далее. Когда рецепт выполняется в контексте скалярия, он не будет переопределять то, что они предоставляют.