wiki:how-to/puppet

Version 20 (modified by Daniel Kahn Gillmor, 7 years ago) (diff)

--

Using Puppet at MFPL

May First/People Link uses puppet to manage our network of servers.

We've borrowed and written a collection of puppet configuration files (aka manifests) that define how all of our servers should be configured.

These configuration files are kept in our puppet git repository. Through a cron job, each server updates to the most recent git tag and then launches puppet, which reads the configuration files, develops a catalog of all instructions intended for the server on which it is running, and then it executes that catalog, applying all the directions.

checking out the code

Anyone can checkout our puppet files read-only. Members of the support team can checkout read/write copies. Checking out the code is the first step to familiarizing yourself with our puppet setup.

understanding the code

We have taken a non-traditional approach deploying puppet. You will need to read our explanation of how our puppet code is organized and deployed.

setting up a development environment

If you'd like to test changes, follow our directions for setting up a puppet development environment.

workflow

A few simple tips on workflow will make developing MF/PL's puppet setup much easier.

If you want a puppet release to go to all servers, you will need to sign a release.

using freepuppet-helper

freepuppet-helper is a python script that allows us to execute commands locally or remotely on our servers. Our freepuppet-helper setup provides useful commands to be to maintain our servers.