The components of Puppet architecture
With Puppet, we manage our systems via the catalog that the Puppet Master compiles for each node. This is the total of the resources we have declared in our code, based on the parameters and variables whose values reflect our logic and needs.
Most of the time, we also provide configuration files either as static files or via ERB 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, which are as follows:
site.pp
is the first file parsed by the Puppet Master (by default, its path is/etc/puppet/manifests/site.pp
) and eventually, all the files that are imported from there (import nodes/*.pp
would import and parse...