Я не хочу использовать шеф-повара Server что касается теперь, а скорее хотеть усилить шеф-повара Solo. Я должен сохранить конфигурации (атрибуты и файлы) конкретных серверов в отдельном Мерзавце repo. Это необходимо для удержания поваренных книг открытый repo при сокрытии конфигураций в частном repo.
Существует ли встроенная возможность в Шеф-поваре получить атрибуты и файлы от Мерзавца repo? Как Вы обычно выбираете их?
Посмотрите на Berfshelf и шаблон кулинарной книги окружения . Этот шаблон позволяет поместить все книги cookbook в их собственные репозитории, публичные или частные
В частности, для настройки конкретных серверов, вы можете использовать книги cookbook в частном репозитории с рецептом, используя node.set
, как упоминалось в том посте блога. Или установить атрибуты в attributes/default.rb
с оператором вида default['foobar']['version'] = '1.2.3'
. Открытые куки-куки репо, не являющиеся приватными, могут быть берксифицированы и запущены из приватных куки-куки с include_recipe "{open-cookbook}::{open-recipe}"
.
Я использовал этот шаблон дизайна раньше в сочетании с knife-solo, особенно с тех пор, как в 0.4.x была добавлена поддержка Berkshelf. В частности, я использую команду knife solo cook someuser@localhost --sync-only
. Это подготовит кухню к установке на целевую машину (скачать все берксифицированные кулинарные книги, создать solo.rb и т.д. и т.п.), но на самом деле не запустить код. Или вызовите как нож solo cook someuser@targetnode
, чтобы подготовить, синхронизировать и запустить chef-solo на целевом узле.