I'm setting up a Puppet master server for the first time. It's configured to use environments:
/etc/puppet/puppet.conf:
[main]
environmentpath = /var/opt/puppet/environments
basemodulepath = /var/opt/puppet/modules
Whenever I install a module, puppet module install foo
, it get installed into my "production" environment's module directory. What I want to happen is for the module to be installed to /var/opt/puppet/modules
unless I specify an environment with the --environment
switch.
How do I do that?
Best Answer
As of the current Puppet version (v6.0):
That means you need to set the modulepath so that '/var/opt/puppet/modules' is the first directory in your modulepath. Since the modulepath setting can only be set in environment.conf, you need to edit your environment.conf for all of your environments.
nano -w /etc/puppetlabs/code/environments/{environment_name}/environment.conf
BTW: For Puppet v6.0 '/etc/puppetlabs/code/modules' may be a better choice for a global modules directory.