Vagrant config for a testing setup with a Puppet Master, Puppet Dashboard and PuppetDB
Puppet Shell Ruby Pascal
Switch branches/tags
Nothing to show
Latest commit 8889d37 Apr 29, 2017 @grahamgilbert grahamgilbert Merge pull request #15 from bryant1410/master
Fix broken headings in Markdown files


I am looking for a new maintainer for this. I now use Docker for my test environments, so haven't used this for over a year. No further updates will be made by me.

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.


I wanted a full Puppet test environment that I could create and destroy easily. Vagrant gives me that.

The headlines

IP Address192.168.33.10
Dashboard URLhttp://
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


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 - 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 This also runs using webbrick, which makes it unsuitable for a large scale deployment.


PuppetDB is configured and provides the inventory service in the Dashboard.