| 9 | Each node runs a cron job that does a `git remote update` against git://git.mayfirst.org/. It checks for the most recent git tag that is signed by a member of the MFPL support team, merges that tag, and then runs puppet. |
| 10 | |
| 11 | Alternatively, MFPL admins can push changes into a puppet bare repo on each node, which will run a post-update hook that pulls the changes into /etc/puppet and runs puppet. |
| 12 | |
| 13 | == Layout == |
| 14 | |
| 15 | * manifests |
| 16 | * globals.pp: global variables specific to May First/People Link, used throughout |
| 17 | * modules.pp: one line to import every puppet module that we use |
| 18 | * site.pp: this is the file that boostraps all other files |
| 19 | * nodes |
| 20 | * production: one file for every production server in our network |
| 21 | * dev: place test and dev server definitions here |
| 22 | * modules: modules are abstracted collections of manifests, templates and files. They are intended to be re-usable by others. In addition to several modules that we have borrowed from others and written ourselves, our modules directory contains a module called "mayfirst" which contains our collection of configurations that specific to us. Most development work will happen in this module. |