A complete example Puppet infrastructure
Puppet Shell Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
manifests
scripts
site-modules
.gitignore
LICENSE
Puppetfile
README.md
Vagrantfile
environment.conf
hiera.yaml

README.md

This is an example Puppet infrastructure for the Puppet Beginner's Guide, Second Edition. It illustrates all the techniques and concepts described in the book, and draws them together into a complete working infrastructure which you can copy and use in your own projects. While you don't have to buy the book to use the demo repo, I'd obviously be very happy if you did.

To try it out, clone the repo and then run 'vagrant up' from within the repo directory. (If you don't have Vagrant installed, go to the Vagrant Downloads page).

Alternatively, to bootstrap a server, all you will need is the IP address or DNS name of the target server. Run the following command from the Puppet repo, replacing TARGET_SERVER with the address or name of the server, and HOSTNAME with the hostname that you want to set (for example demo):

scripts/puppify TARGET_SERVER HOSTNAME

The demo repo is built on a skeleton Puppet control repo available from the Puppet GitHub account.

It adds everything required for a typical Puppet infrastructure, including user accounts and SSH keys, SSH and sudoers config, timezone and NTP settings, Hiera data, resources to automatically update and run Puppet, and a bootstrap script for bringing new servers under Puppet management. It also includes a Vagrantfile so you can try out the repo on a Vagrant virtual machine.

You can also find all the code examples from the book in the Puppet Beginner's Guide example repo.