1. Introduction What is configuration management, and how can Puppet help? Part I: Puppet language, tools, and best practices 2. Puppet Language Introduction 3. A Deeper Look at Puppet Language 4. Defined Types, Classes, and Modules 5. Facts, Templates, and Hiera Part 2: How to Architect Your Puppet Code Base 6. The Brick and Mortar Approach to Puppet 7. Writing Good Brick Modules 8. Writing Good Mortar Modules Part 3: Making Puppet Part of your Infrastructure 9. Puppet Infrastructure 10. Puppet Server 11. Ancillary Puppet Infrastructure