= Using Puppet at MFPL = May First/People Link uses [http://www.puppetlabs.com/ 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 [https://git.mayfirst.org/?p=mfpl/puppet.git;a=summary 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 [wiki:puppet/checkout checkout our puppet files] read-only. Members of the [wiki:support-team 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 [wiki:puppet/layout explanation of how our puppet code is organized and deployed]. == setting up a development environment == If you'd like to test changes, follow our [wiki:puppet/dev-env directions for setting up a puppet development environment]. == workflow == A [wiki:puppet/workflow 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 wiki:faq/admin/puppet/sign-release 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 [wiki:puppet/freepuppet-helper freepuppet-helper setup] provides useful commands to be to maintain our servers.