Я пролистал документы и несколько уроков соло для шеф-повара, и вот что я придумал. Как и почти во всех программах, существует более одного способа сделать это (TIMTOWTDI). Я думаю о том, чтобы сделать мой собственный учебник ...
Создайте base.json в качестве основных параметров конфигурации: учетные записи пользователей, возможно, iptables с доступом только к ssh, sudo для вашего пользователя и т. Д. Вещи, которые будут одинаковыми на обеих (всех) машинах. Затем создайте роль для своей машины-мифа и поместите ее в папку ролей. Когда вы создаете новую роль, просто отредактируйте файл base.json и добавьте его в список выполнения.
Кроме того, я не вижу папку site-cookbooks. Мне было неясно, когда я тоже начал с шеф-повара. Вам нужно это. Если вы изменяете кулинарную книгу (которую вы в конечном итоге), вы помещаете измененный файл в папку site-cookbooks, в той же структуре каталогов, что и оригинальная кулинарная книга. Скажем, вы хотите отредактировать шаблон apache2, вы должны поместить его в site-cookbooks -> apache2 -> templates -> default -> apache2.conf.erb (например). Во время выполнения шеф-повар будет смотреть на ваш шаблон вместо оригинала. Это позволяет легко отслеживать ваши добавления / изменения, а также позволяет легко обновить оригинальную кулинарную книгу. Таким образом, у вас когда-либо будет только один кулинарный архив. Если вы не вызовете рецепт / роль из json, то он не будет выполнен.
В моем репозитории Chef-Solo для создания моего тарбола я запускаю:
tar zcvf chef-solo.tar.gz ./cookbooks ./roles ./site-cookbooks ./data-bags
Последнее замечание: более поздние версии chef-solo обрели некоторую любовь к возможности использовать пакеты данных, и была создана поваренная книга для поиска. И то, и другое - большая часть настройки клиент-сервер, и я не думал, что они когда-нибудь будут добавлены в chef-solo. Chef-solo FTW!
Мой начальный загрузчик.
https://github.com/tripleonard/chef-solo-bootstrap
Ура!