Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

39.
Run multiple Puppet environmentshttp://docs.puppetlabs.com/guides/environment.htmlWe put 1 host of each cluster in puppet environment development, 1 in staging, the rest in production Dont break everything at once :)

41.
Use seperate init.pp,params.pp & conﬁg.ppParams.pp so you can include variables from elsewhere Conﬁg.pp lets you specify: kfoo::conﬁg { $fqdn } in a service and require: Kfoo::Conﬁg[ $fqdn ] in the component http://docs.puppetlabs.com/guides/modules.html

42.
Use a common base classSet up all the plumbing from users, to apt, to ﬁlesystems, to mounts, ntp, sudo, git, monitoring, ssh, and so on. Run it early using run stages

48.
Keep nodeconﬁguration in an editable location We chose S3Git, LDAP, or anything else that works for you.

49.
Sign nodes that have a conﬁguration only Keyed off their certname, run periodically Inspired by:http://ubuntumathiaz.wordpress.com/2010/03/24/using- puppet-in-uecec2-puppet-support-in-ubuntu-images/ Our code: https://github.com/krux/ops-tools /blob/puppet/bin/check_csr.py

55.
Email Reports & Alerts This feature alone is worth installing it. Run it on the same host as your Puppet master for minimal frictionhttp://theforeman.org/projects/foreman/wiki/ Summarized_E-Mail_Reports

77.
VirtualBox + Ubuntu + Puppet = JFDI Use same puppet infrastructure to provision dev machines locallyPut it on a USB stick, be up and running in 30 minutesOur code for doing so: https://gist.github.com/1230221