Puppet is a1) powerful open source tool to automate the configuration of and software management on Unix-like2) operating systems. This posting is a distillate of the resources I collected during my Puppet learning phase. I hope it helps to get an overview about what Puppet can do for you and how to use it (plus providing existing Puppet users some new ideas or tips).
Selected slides and presentations (overview, use-cases, experts, tips)
How to start
Puppet vs. [insert other tool here]
“Masterless” (Puppet without central server)
Source code standards
Source code tools
Testing
Useful source code, modules, blue prints, examples, inspiration
Design patterns, module organization strategies
Puppet security (basic thoughts)
Miscellaneous but useful
Starting points to find more useful content:
[puppetlabs-products-fedora]
name=Puppet Labs - Products
baseurl=http://yum.puppetlabs.com/fedora/f\$releasever/products/\$basearch/
gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
http://yum.puppetlabs.com/RPM-GPG-KEY-reductive
enabled=1
gpgcheck=1
[puppetlabs-dependencies-fedora]
name=Puppet Labs - Dependencies
baseurl=http://yum.puppetlabs.com/fedora/f\$releasever/dependencies/\$basearch/
gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
http://yum.puppetlabs.com/RPM-GPG-KEY-reductive
enabled=1
gpgcheck=1
puppet apply site.pp). Compare the situation with a source code VCS: Thousands of developers are using something like Git for their source code, even if they are the only developer of a specific project. The reason is that Git is not just a tool for “big teams and corporations”. It provides functionality every developer can benefit from. Same for Puppet: even if you got only a few computers to maintain, you may want to automate things plus documenting your setup by doing so. Puppet provides functionality every administrator can benefit from.rdoc on your system if you want to use puppetdoc --mode rdoc