How do you automatically install puppet modules on `puppet apply`
Is it possible to automatically install or include puppet modules in your puppet config? I'm having to manually run puppet module install
before running puppet apply
.
I'm downloading modules and storing them in a directory above my Vagrantfile
in which I've specified the path to find modules using config.vm.provision :puppet, :module_path => "modules"
and then including them in my puppet manifest.
AFAIK it's not possible with 'vanilla' Puppet, but with librarian-puppet it's possible:
Librarian-puppet is a bundler for your puppet infrastructure. You can use librarian-puppet to manage the puppet modules your infrastructure depends on. It is based on Librarian, a framework for writing bundlers, which are tools that resolve, fetch, install, and isolate a project's dependencies.
Librarian-puppet manages your modules/ directory for you based on your Puppetfile. Your Puppetfile becomes the authoritative source for what modules you require and at what version, tag or branch.
Once using Librarian-puppet you should not modify the contents of your modules directory. The individual modules' repos should be updated, tagged with a new release and the version bumped in your Puppetfile.