Managing 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
directory with your modules inside - An 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, Puppet Server and 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 look at 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...