Puppet is a configuration management system and a language. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts.
Mastering Puppet deals with the issues faced when scaling out Puppet to handle large numbers of nodes. It will show you how to fit Puppet into your enterprise and allow many developers to work on your Puppet code simultaneously. In addition, you will learn to write custom facts and roll your own modules to solve problems. Next, popular options for performing reporting and orchestration tasks will be introduced in this book. Moving over to troubleshooting techniques, which will be very useful. The concepts presented are useful to any size organization.
By the end of the book, you will know how to deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously.
What you will learn
- Scale out your Puppet infrastructure using proxying techniques
- Automate your code promotion workflow using Git and r10k
- Solve real-world problems using public modules from the Puppet Forge
- Use Hiera to separate the data of your configuration from the code of your configuration
- Write your own custom facts in Ruby
- Extend Puppet with your own custom facts, modules, and types
- Use exported resources to orchestrate change between machines
- Debug a puppetserver using Java techniques