Puppet Best Practices: Design Patterns For Main... May 2026

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)

Use Hiera to provide defaults and overrides based on facts like environment or OS. 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. These are the high-level descriptions of a machine's

A good module follows the : it should do one thing and do it well. Puppet Best Practices - The Swiss Bay Separation of Code and Data (Hiera) Use Hiera

Puppet Best Practices: Design Patterns for Maintainable Code

3. Coding Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Swiss Bay

This is the "gold standard" for Puppet abstraction. It separates your technology-specific code from your business logic, making your codebase modular and readable.