https://github.com/mindreframer/vagrant-puppet-librarian
A base to use librarian and puppet with vagrant in simple and reliable fashion.
https://github.com/mindreframer/vagrant-puppet-librarian
Last synced: 12 months ago
JSON representation
A base to use librarian and puppet with vagrant in simple and reliable fashion.
- Host: GitHub
- URL: https://github.com/mindreframer/vagrant-puppet-librarian
- Owner: mindreframer
- License: mit
- Created: 2013-01-31T12:01:13.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2014-04-07T08:03:10.000Z (about 12 years ago)
- Last Synced: 2025-03-25T08:42:34.661Z (about 1 year ago)
- Language: Shell
- Size: 165 KB
- Stars: 39
- Watchers: 1
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vagrant-puppet-librarian
- this repository combines in a simple and effective way [Librarian-Puppet] + [Puppet] for [Vagrant]
## 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:
- https://github.com/aggressivex/vagrant-startup-environment
- https://github.com/purple52/librarian-puppet-vagrant
- https://github.com/garethr/riemann-vagrant
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](https://github.com/rodjek/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](https://github.com/mindreframer/vagrant-puppet-librarian/blob/master/LICENSE)
file.
[Vagrant]: http://vagrantup.com
[Puppet]: http://puppetlabs.com
[Librarian-Puppet]: https://github.com/rodjek/librarian-puppet