All Projects → mindreframer → vagrant-puppet-librarian

mindreframer / vagrant-puppet-librarian

Licence: MIT License
A base to use librarian and puppet with vagrant in simple and reliable fashion.

Programming Languages

Puppet
460 projects
shell
77523 projects

Vagrant-puppet-librarian

Problem

I assume you know, what pain points Librarian-puppet solves, Librarian-puppet can help by managing the Puppet modules used by your Vagrant box. But you can not use puppet provisioner like intended, because modules are not all installed your first run (it's Librarian-Puppet's responsibility).

Solution

I have looked at similar solutions:

I did not quite like them, because they force me to install librarian-puppet on my system. So I took the example from purple52 and changed it a bit (from two provisioners (shell + puppet) to just one) + some minor stuff.

The simple solution implemented here uses a shell provisioner in your Vagrant configuration to install and run Librarian-puppet and also run puppet.

Like this:

`puppet apply -vv  --modulepath=$PUPPET_DIR/modules/ $PUPPET_DIR/manifests/main.pp`

It also installs two scripts for you:

  • runpuppet
  • runlibrarian

So, you don't have to vagrant reload, which restarts your VM.... (duh???) Just execute runpuppet, if you changed your code... If you updated the Puppetfile, execute runlibrarian. Simple.

How to use

This repository is really just a template; copy the relevant files into your own project. Here's a breakdown of what's required:

  • Vagrantfile with simple shell provisioner definition
  • shell/bootstrap.sh - a simple shell provisioner to install and run Librarian-puppet and also Puppet
  • puppet/Puppetfile - configuration describing what Puppet modules to install. See the Librarian-puppet project for details.
  • puppet/manifests/main.pp - your main Puppet manifest.
  • puppet/.gitignore - configured to ignore temporary directories and files created by Librarian-puppet.

Contribute

Patches and suggestions welcome.

Issues

Please raise issues via the github issue tracker.

License

Please see the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].