7

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.

dawud
  • 15,096
  • 3
  • 42
  • 61
Mike
  • 73
  • 1
  • 4
  • What's in your configuration? And why are you running the commands yourself? Are you not using a puppet master server? – Izzy Jun 28 '13 at 23:43
  • No master server. I'm running a vagrant development server. It seems like I'm forced to run `puppet module install` before including a module in my config file. Can't you just use puppet config to install modules? – Mike Jun 28 '13 at 23:46

3 Answers3

3

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.

Nev Stokes
  • 146
  • 2
1

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.

Daniel Serodio
  • 249
  • 3
  • 10
0

As for now, Vagrant has vagrant-librarian-puppet module.

Installation:

vagrant plugin install vagrant-librarian-puppet

From readme:

Vagrant will automatically run Librarian-Puppet before any provisioning step, so simply set up your Puppetfile as you normally would.

You may specify the subdirectory within which to run librarian-puppet using the librarian_puppet.puppetfile_dir config key. Please keep in mind that you will need to explicitly set the modules path in the :puppet provisioner and this path must exist before running vagrant commands.

Ivan Kolmychek
  • 1,244
  • 2
  • 10
  • 13