К сожалению, не так много документации по Vagrant в сочетании с Chef.Я рекомендую изучить использование библиотекаря для управления своими кулинарными книгами.У меня обычно есть блок, похожий на этот в моем Vagrantfile:
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "chef/cookbooks"
chef.roles_path = "chef/roles"
# ...
end
Я создаю новый каталог в корне моего проекта под названием chef
и добавляю следующие строки в мой .gitignore
:
# Ignore librarian bundled cookbooks and cache
/chef/cookbooks
/chef/tmp
В каталоге chef
вы можете запустить librarian-chef init
и начать добавлять поваренные книги в созданный Cheffile
так же, как в Gemfile:
cookbook "apt",
:git => "git://github.com/fnichol/chef-apt.git",
:ref => "cacher-client-solo-support"
cookbook "imagemagick", "0.2.2"
cookbook "mongodb",
:git => "git://github.com/edelight/chef-cookbooks.git",
:ref => "0.11.0"
Вы получитеПреимущества возможности указывать git-репозитории, пути к файлам и версии для объединения, что очень полезно при использовании кулинарных книг из нескольких источников.При запуске librarian-chef install
библиотекарь извлечет все указанные поваренные книги и сохранит их в каталоге cookbooks
относительно местоположения вашего Cheffile.