Maintaining environments
Puppet doesn't organize things in modules exclusively. There is a higher-level unit called environment that groups and contains the modules. An environment mainly consists of:
One or more site manifest files
A
modules
directoryAn optional
environment.conf
configuration file
When the master compiles the manifest for a node, it uses exactly one environment for this task. As described in Chapter 2, The Master and Its Agents, it always starts in manifests/*.pp
, which form the environment's site manifest. Before we take a look at how this works in practice, let's see an example environment directory:
/opt/puppetlabs/code/environments production environment.conf manifests site.pp nodes.pp modules my_app ntp
The environment.conf
file can customize the environment. Normally, Puppet uses site.pp
and the other files in the manifests
directory. To make Puppet read all the pp
files in another directory, set the manifest
option in environment...