Contents based on Puppet 4 with references to earlier compatibility
Introduction to Puppet concepts in a smooth and progressive way (needed for absolute beginners to grasp the following, much more "robust" parts).
- Introduction to Puppet and Configuration Management
- From Zero to Results
- Language basics
- Next steps in Puppet world
Getting deeper into Puppet language, ecosystem and components: advanced language, Hiera, PuppetDB... A wide and complete topics coverage with focus on practical needs.
- Deeper in Puppet DSL
- Facter
- Hiera
- PuppetDB
How to find and use modules. How write them. Usage patterns for the most common public modules and for local ones.
- Using and writing modules
- Modules reusability practices
- Exploring a world of modules
How to put things together: nodes classifications, code organization, data layout, files and secrets management.
- Components of a Puppet architecture
- Designing and scaling Puppet infrastructures
- Pulling things together
- Integrations with other tools
How to manage Puppet code workflow, from code writing to deployment: testing, rollouts, migration patterns.
- Writing and testing Puppet code
- Deployment workflows
- Migrating Puppet environments
Getting beyond systems management: how to use Puppet in the cloud, how to manage network and storage devices,
- Software defined infrastructures
- Cloud interactions
The gory details under the hood. How to extend Puppet code.
- An orientation guide to the Internals
- Extending Puppet DSL
- [Developers Posts]
An handy and practical reference with practical info about Puppet universe. The stuff that matter and the links for details.
- Puppet reference: usage, configuration, language, types, variables, modules, functions.
- Hiera reference: usage, configuration, plugins
- PuppetDB reference: configuration, querying,
- PuppetServer reference: configuration