Puppet Workshop

Puppet Workshop

Configuration Management Made Easy

Jeroen van Meeuwen, RHCE

Sr. System Engineer
Operator Groep Delft

Stefan Hartsuiker, RHCE

System Engineer
Operator Groep Delft

Legal Notice

Copyright © 2008 Jeroen van Meeuwen. This material may only be distributed subject to the terms and conditions set forth in the Open Publication License, V1.0, (the latest version is presently available at http://www.opencontent.org/openpub/).

Fedora and the Fedora Infinity Design logo are trademarks or registered trademarks of Red Hat, Inc., in the U.S. and other countries.

All other trademarks and copyrights referred to are the property of their respective owners.

Documentation, as with software itself, may be subject to export control. Read about Fedora Project export controls at http://fedoraproject.org/wiki/Legal/Export.

Abstract

This book is a configuration management workshop wrapped around puppet, the next-generation configuration management utility that has proven to be simple, straightforward, flexible, scalable, stable, fast, extensible and most importantly, truely Free.


Preface
1. About the Contributors
2. Document Conventions
3. Feedback
1. Introduction
1.1. Target Audience
2. Introduction to Configuration Management
2.1. What is Configuration Management?
2.1.1. Configuration Management
2.1.2. Configuration Management Requirements
2.2. Problems without Configuration Management
2.3. Not So Technical Aspects
3. Introduction To Puppet
3.1. What Does Puppet Do?
3.2. Ordering
3.3. Write Once, Apply Many Times
4. Puppet Terminology
5. How Puppet Works
6. Puppet Features
6.1. Puppet Speaks
6.2. Secure Communication
6.3. Free and Open Source Software
6.4. Facts, no Fiction
6.5. Repeat, Repeat, Repeat
7. Setting Up Puppet
7.1. Installation
7.2. Configuration
7.2.1. Configuring the Puppetmaster
7.2.2. Configuring the SSL Frontend Reverse Proxy Load Balancer
7.2.3. Configuring the Database Server
8. How To Use Puppet
8.1. Using Modules
8.2. Virtual Resources
8.3. Using Plugins
8.4. Environments
9. Troubleshooting Puppet
9.1. Manifests
9.2. The Puppetmaster
9.2.1. Debugging The Puppetmaster
9.3. The Puppet
9.3.1. Debugging The Puppet
10. Other Things To Do With Puppet
10.1. Tweaking Reporting
10.2. Writing Custom Types
10.3. Writing Custom Facts
10.4. Writing Custom Functions
10.5. Storeconfigs, Reporting and Puppetview
11. Best Practices
I. Appendices
A. Puppet Terminology
B. Example SSL Frontend Reverse Proxy Load Balancer Configuration
C. Examples
C.1. Example Defined Type
D. Revision History