Configuration: Editing settings on the command line
Puppet loads most of its settings from the puppet.conf config file. You can edit this file directly, or you can change individual settings with the puppet config set
command.
When to Use This
We recommend using
puppet config set
for:
- Fast one-off config changes
- Scriptable config changes in provisioning tools
If you find yourself changing many settings at once, you might prefer to edit the puppet.conf file or manage it with a template.
Usage
To assign a new value to a setting, run:
$ sudo puppet config set <SETTING NAME> <VALUE> --section <CONFIG SECTION>
This will declaratively set the value of <SETTING NAME>
to <VALUE>
(in the specified config section). It will work the same way regardless of whether the setting already had a value.
Config sections
The --section
option specifies which section of puppet.conf to modify. It is optional, and defaults to main
. Valid sections are:
-
main
(default) — used by all commands and services -
master
— used by the Puppet master service and thepuppet cert
command -
agent
— used by the Puppet agent service -
user
— used by the Puppet apply command and most other commands
If modifying the system config file, be sure to use sudo
or run the command as root
or Administrator
.
Example
Before:
# /etc/puppetlabs/puppet/puppet.conf
[main]
certname = agent01.example.com
server = master.example.com
vardir = /var/opt/lib/pe-puppet
[agent]
report = true
graph = true
pluginsync = true
[master]
dns_alt_names = master,master.example.com,puppet,puppet.example.com
Commands:
$ sudo puppet config set reports puppetdb --section master
$ sudo puppet config set ordering manifest
After:
# /etc/puppetlabs/puppet/puppet.conf
[main]
certname = agent01.example.com
server = master.example.com
vardir = /var/opt/lib/pe-puppet
ordering = manifest
[agent]
report = true
graph = true
pluginsync = true
[master]
dns_alt_names = master,master.example.com,puppet,puppet.example.com
reports = puppetdb