This is a Vagrantfile for running a testing setup for Puppet. It includes a Puppet Master, Puppet Dashboard and PuppetDB. No idea what Vagrant is?
- Install VirtualBox
- Install Vagrant
- cd to the cloned directory
- Type in
vagrant up
to your terminal window - Profit
If you get errors about PuppetDB not starting, issue a vagrant provision
.
Expanded by Mikael Sennerholm to include multiple puppet environments, and 3 VMs, one in each environment.
If you get errors about puppet SSL certificates on the puppet client VMs, issue a vagrant provision {dev,test,prod}1
.
##Why?
I wanted a full Puppet test environment that I could create and destroy easily. Vagrant gives me that.
##The headlines
IP Address | 192.168.33.10 |
---|---|
Dashboard URL | http://192.168.33.10:3000 |
Put your manifests in: | puppet/manifests |
Put your modules in: | puppet/modules |
If you are using Hiera edit: | puppet/hiera.yaml |
Put your Hiera data in: | puppet/hieradata |
##A bit more detail on what’s going on ###Puppet
This will set up the latest version of Puppet running as a master using the built in webbrick server. This is fine for testing, but this (amongst other reasons outlined below) makes it unsuitable for use in production.
Place your manifests and modules in puppet/manifests
and puppet/modules
respectively.
The server has the IP address 192.168.33.10 - if your LAN runs on this subnet, make sure you change it in the Vagrantfile.
Other tweaks have been made to the configuration to make it more suitable for testing than the standard configuration:
- Autosigning is enabled for any host
- Any client can revoke a certificate (useful when re-deploying a client for example)
These should be locked down to trusted hosts if using these techniques in production.
###Puppet Dashboard
The Dashboard can be accessed at http://192.168.33.10:3000. This also runs using webbrick, which makes it unsuitable for a large scale deployment.
###PuppetDB
PuppetDB is configured and provides the inventory service in the Dashboard.