Можно ли автоматически установить или включить модули марионетки в конфигурацию марионетки? Мне нужно вручную запустить puppet module install
перед запуском puppet apply
.
Я загружаю модули и сохраняю их в каталоге над моими Vagrantfile
в котором я указал путь для поиска модулей, используя config.vm.provision :puppet, :module_path => "modules"
а затем включить их в мой марионеточный манифест.
AFAIK это невозможно с 'vanilla' Puppet, но с библиотекарь-марионетка это возможно:
Librarian-puppet - это сборщик для вашей марионеточной инфраструктуры. Вы можете использовать librarian-puppet для управления модулями марионеток, от которых зависит ваша инфраструктура. Он основан на Librarian, фреймворке для написания сборщиков пакетов, которые представляют собой инструменты, которые разрешают, выбирают, устанавливают и изолируют зависимости проекта.
Librarian-puppet управляет вашими модулями / каталогом за вас на основе вашего файла Puppetfile. Ваш Puppetfile становится авторитетным источником того, какие модули вам требуются и в какой версии, теге или ветке.
После использования Librarian-puppet вы не должны изменять содержимое каталога модулей. Репозитории отдельных модулей должны быть обновлены, отмечены новой версией, а версия добавлена в ваш файл Puppetfile.
Как сейчас, Vagrant
имеет бродяга-библиотекарь-марионетка модуль.
Монтаж:
vagrant plugin install vagrant-librarian-puppet
Из ридми:
Vagrant автоматически запускает Librarian-Puppet перед любым этапом подготовки, поэтому просто настройте свой Puppetfile, как обычно.
Вы можете указать подкаталог, в котором будет запускаться librarian-puppet, используя конфигурационный ключ librarian_puppet.puppetfile_dir. Имейте в виду, что вам нужно будет явно указать путь к модулям в средстве подготовки: puppet, и этот путь должен существовать до запуска команд vagrant.