Puppet Concepts
Puppet describes system state in manifests and applies that desired state to managed nodes.
Core Terms
- Manifest: a Puppet file that declares configuration.
- Module: a reusable package of manifests, templates, files, and facts.
- Class: a reusable block of Puppet code.
- Resource: an item Puppet manages, such as a package or service.
- Fact: system information discovered from the node.
- Agent: the component that applies the catalog on the node.
- Master or server: the central component that compiles catalogs.
Execution Model
Puppet compiles a catalog of desired state and then converges the node toward that catalog. The model is strong when you need consistent system configuration across many machines.
Example Resource
Practical Notes
- Keep modules reusable and focused.
- Use facts for platform-specific branching.
- Prefer declarative resources over imperative shell commands.