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
modulesdirectoryAn optional
environment.confconfiguration 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
ntpThe 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...