Global settings for configuring environments
The settings in the primary server's puppet.conf file configure how
Puppet finds and uses environments.
On this page:
environmentpath
The environmentpath setting is the list of directories where
Puppet looks for environments. The default value
for environmentpath is $codedir/environments. If
you have more than one directory, separate them by colons and put them in order of
precedence.
In this example, temp_environments is searched before
environments:
$codedir/temp_environments:$codedir/environments
If environments with the same name exist in both paths, Puppet uses the first environment with that name that it encounters.
Put the environmentpath setting in the main section of the
puppet.conf file.
basemodulepath
The basemodulepath setting lists directories of global modules that
all environments can access by default. Some modules can be made available to all
environments. The basemodulepath setting configures the global
module directories.
By default, it includes $codedir/modules for user-accessible modules
and /opt/puppetlabs/puppet/modules for system modules.
Add additional directories containing global modules by setting your own value for
basemodulepath.
Related topics: modulepath.
environment_timeout
The environment_timeout setting sets how often the primary
server refreshes information about environments. It can be overridden
per-environment.
This setting defaults to 0 (caching disabled), which lowers the performance of your primary server but makes it easy for new users to deploy updated Puppet code. After your code deployment process is mature, change this setting to unlimited.
All code in Ruby and Puppet loaded from the environment is cached. Inputs to compilation (for example, facts and looked up values) and the resulting catalog, are not cached.
disable_per_environment_manifest
The disable_per_environment_manifest setting lets you specify
that all environments use a shared main manifest.
When disable_per_environment_manifest is set to true, Puppet uses the same global manifest for every
environment. If an environment specifies a different manifest in
environment.conf, Puppet does
not compile catalogs nodes in that environment, to avoid serving catalogs with
potentially wrong contents.
If this setting is set to true, the default_manifest value must be
an absolute path.
default_manifest
The default_manifest setting specifies the main
manifest for any environment that doesn’t set a manifest value in
environment.conf. The default value of
default_manifest is ./manifests — the
environment’s own manifests directory.
The value of this setting can be:
-
An absolute path to one manifest that all environments share.
-
A relative path to a file or directory inside each environment’s directory.
Related topics: default_manifest setting.