Puppet environments
Puppet environments are a way to define specific versions of modules, manifests, and data to be used for groups of servers. Unfortunately, environment is a general technology term used for other purposes in organizations, and can easily be confused. The best advice would be to always say Puppet code environment if used in discussions outside of a purely Puppet context. This prevents a Puppet environment being associated directly with anything else.
Modern Puppet environments are dynamic directory-based, which means the Puppet server—or, in the case of puppet apply
, the client—will look for the assigned environment to exist within a directory. Several variables set the location of related directories, including the environments
directory itself, and we strongly recommend leaving all these settings at default to avoid confusion and issues. We will now look at the levels of code directories and paths within an environment.