Use Hiera to provide defaults and overrides based on facts like environment or OS.
Puppet Best Practices: Design Patterns for Maintainable Code Puppet Best Practices: Design Patterns for Main...
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. Use Hiera to provide defaults and overrides based
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 Writing Puppet code is easy; maintaining it as
Keep your logic in your profiles and your specific values in your Hiera YAML files. 3. Maintainable Module Design
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)