Running Puppet from cron
You can do a lot with the setup you already have: work on your Puppet manifests as a team, communicate changes via a central Git repository, and manually apply them on a machine using the papply
script.
However, you still have to log in to each machine to update the Git repo and rerun Puppet. It would be helpful to have each machine update itself and apply any changes automatically. Then, all you need to do is push a change to the repo, and it will go out to all your machines within a certain time.
The simplest way to do this is with a cron
job that pulls updates from the repo at regular intervals and then runs Puppet if anything has changed. Since our papply
script already pulls the latest changes, we can just schedule cron
to run the papply
script.
Getting ready
You'll need the Git repo we set up in the Managing your manifests with Git and Creating a decentralized Puppet architecture recipes, and the papply
script from the Writing a papply script recipe. You'll need...