Components of a Puppet architecture
With Puppet, we manage our systems via the catalog that the Puppet Master compiles for each node, which is the total of the resources we have declared in our code, based on parameters and variables whose values reflect our logic and needs.
Most of the time, we also provide configuration files either as static files or viB templates, populated according to the variables we have set.
We can identify the following major tasks when we have to manage what we want to configure on our nodes:
- Definition of the classes to be included in each node
- Definition of the parameters to use for each node
- Definition of the configuration files provided to the nodes
These tasks can be provided by different, partly interchangeable, components:
site.pp
, the first file parsed by the Puppet Master and eventually all the files imported from there (importnodes/*.pp
would import and parse all the code defined in the files with.pp
suffix in the/etc/puppet/manifests/nodes/
directory...