Thomas Mullaly

DevOps, Security and IT Leadership

Puppet Master Server

Choose a Package Source

Download the “puppetlabs-release” package for your OS version. You can see a full list of these packages on the front page of http://apt.puppetlabs.com/. They are all named puppetlabs-release-(CODE NAME).deb.

Install the package by running dpkg -i . For example, to enable the repository for Ubuntu 12.04 Precise Pangolin:

$ wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
$ sudo dpkg -i puppetlabs-release-precise.deb
$ sudo apt-get update

Install the Puppet Master

apt-get install puppetmaster

Configure Reporting

How to see client changes in the master log My default puppet configuration shows all the interesting changes in the client’s /var/log/daemon.log. I’d rather be able to see those client-side changes in the master’s log. Making this happen involves turning on puppet’s client reporting mechanism.

client-side reporting

This is controlled by a setting in puppet.conf or a command line parameter to puppetd. I added the switch to /etc/default/puppet:

# Defaults for puppet - sourced by /etc/init.d/puppet

# Start puppet on boot?
START=yes

# Startup options
DAEMON_OPTS="--report"

server handling of reports

On the server side, puppet has several options for processing reports. The default is to create a yaml file in /var/lib/puppet/report/ To tell puppet to send the client report of changes to syslog (which in this case is sent to daemon.log), make this change to /etc/puppet/puppet.conf

[master]
reports = log

Now, if you fiddle with a puppet controlled resource on the client (like adding a blank line to /etc/hosts), and restart the puppet client, you’ll see puppet’s corrective actions reported in the master’s /var/log/daemon.log.

Signing Client Certificates

On the master:

puppet cert list
puppet cert sign blue.cs.umb.edu