Puppet Best Practices: Design Patterns For Main... -
Writing Puppet code is easy; maintaining it as your infrastructure grows from five nodes to five thousand is the real challenge. To avoid "spaghetti manifests" and technical debt, you need to move beyond simple scripting and embrace declarative design patterns. 1. The Roles and Profiles Pattern
Never hardcode configuration values like IP addresses or package versions directly into your manifests. Use Hiera to keep your code "clean" and your data flexible. Puppet Best Practices: Design Patterns for Main...
These are the building blocks (e.g., puppetlabs-apache ). They handle the "how" but shouldn't contain business-specific data. Writing Puppet code is easy; maintaining it as
These are the high-level descriptions of a machine's function (e.g., role::app_server ). A node should ideally have only one role . 2. Separation of Code and Data (Hiera) The Roles and Profiles Pattern Never hardcode configuration
A good module follows the : it should do one thing and do it well. Puppet Best Practices - The Swiss Bay
3. Coding Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Swiss Bay