Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=2.7.20 <7.0.0
- ,
Start using this module
Add this module to your Puppetfile:
mod 'thias-puppet', '1.0.2'
Learn more about managing modules with a PuppetfileDocumentation
puppet-puppet
Overview
Puppet module to solve the chicken and egg problem : Manage puppet masters and agents from puppet.
puppet::agent
: Class to manage Puppet Agents.puppet::master
: Class to manage Puppet Masters.
Examples
Example puppet agent :
class { '::puppet::agent':
forcenoop => true,
service => false,
cron_enable => true,
cron_silent => true,
puppet_server => 'puppet.example.com',
}
The noop related options are especially useful for small deployments where
there is no testing environment but there is a Dashboard or similar, since
no changes will be automatically made, but all pending changes will appear
and be easy to review. The included repuppet
script can then be run on
nodes where changes are to be applied.
Example puppet master with Passenger, PuppetDB and sending reports to a local
Dashboard (configured separately, see puppet::dashboard
for a work in
progress) :
class { '::puppet::master':
runtype => 'passenger',
reports => 'http',
storeconfigs => true,
storeconfigs_backend => 'puppetdb',
}
When enabling the puppet::master
class, the puppet::agent
's main
configuration is then changed to be puppetagent.conf
, and both it and a
puppetmaster.conf
are automatically concatenated together as puppet.conf
when either changes.
This is because it isn't trivial to use a different configuration for each.
Example puppet master with the default webrick service run and MySQL for stored configurations (configured separately) :
class { '::puppet::master':
runtype => 'service',
certname => 'puppet.example.com',
storeconfigs => true,
dbadapter => 'mysql',
dbserver => 'localhost',
dbname => 'puppet',
dbuser => 'puppet',
dbpassword => 'password123',
dbsocket => '/var/lib/mysql/mysql.sock',
extraopts => {
'masterlog' => '/var/log/puppet/puppetmaster.log',
'autoflush' => 'true',
},
}
Note that by default the puppet::master
class will require the
thias/selinux
module if you have SELinux enabled in order to add policy
rules to make everything work. If you wish to manage the SELinux changes
separately, set selinux => false
.
Example puppet master with clojure puppetserver :
class { '::puppet::master':
runtype => 'puppetserver',
certname => 'puppet.example.com',
dns_alt_names => 'puppet.example.lan,puppet',
reports => 'http',
storeconfigs => 'true',
storeconfigs_backend => 'puppetdb',
rsyslog_file => '/var/log/puppet/puppetmaster.log',
extraopts => {
'environmentpath' => '$confdir/environments',
'parser' => 'future',
},
}
2019-06-06 - 1.0.2
- Fix for Puppet 4 AIO which does not include puppet user or group.
- Properly silence cron-repuppet when no errors happen.
2017-02-02 - 1.0.1
- Fix repuppet PATH with Puppet Collections agent.
- Improvements with Puppet 4.
- Use getvar() to check/get fact without triggering a warning.
2016-09-06 - 1.0.0
- Fix puppetagent.conf.erb with puppet 2.7.
- Add Puppet 4 support (@jesusrodrigo, #10).
- Add support disabling CA for masters (@kostyrevaa, #8).
- Add support for not setting agent environment explicitly (@trosine, #9).
2014-12-16 - 0.6.3
- Fix apache_httpd port with puppet 3.7+.
- Add support for puppetserver runtype.
- Remove autonoop parameter, easy to do the same (and more) with hiera.
- Add support for clojure puppetserver master.
2014-11-26 - 0.6.2
- Add ArchLinux agent support (@edvinasme, #5).
- Fix for updates apache_httpd module.
2014-03-28 - 0.6.1
- Fix silent cron-repuppet since Notice now has uppercase first letter.
- Put the server in the agent puppet.conf section (@CtrlC-Root, #4).
- Remove the server from the repuppet script.
- Sort hashes used in the puppetagent.conf template.
2013-11-21 - 0.6.0
- Update README, including adding an SELinux note (#3).
- Remove httpd directives for passenger 4.0.x compatibility.
- Add scontext master parameter in case it needs to be httpd_t.
- Allow group read on private SSL files, allows to integrate with The Foreman.
- Prefix local fact with puppet_ to avoid conflict with The Foreman.
- Make environment sticky for the agent, now easy to switch nodes.
2013-10-01 - 0.5.5
- Force servername when using apache_httpd for the master.
- Add support for choosing an rsyslog file for puppet-master messages.
- Add new puppet::dashboard class, which still needs some more work.
2013-09-19 - 0.5.4
- Make rundir configurable, changing the default on Gentoo.
- Fix repuppet with puppet agent 3.3.0.
- Remove waitforcert from the default options, as it does not make much sense.
2013-07-18 - 0.5.3
- Fix waitforcert issue with repuppet.
2013-04-19 - 0.5.2
- Work around broken hiera booleans for the agent class.
- Use @variable syntax in templates to remove puppet 3.2 warnings.
2013-04-16 - 0.5.1
- Update examples in the README to have more variety.
2013-04-15 - 0.5.0
- Split out the catpuppetconf into a common class, to fix logic.
- Clean up the master parameters by defaulting most to undef.
- Add missing /etc/puppet/rack content when enabling passenger.
- Silence stderr too from cron, to avoid puppet 3.x error emails.
- Disable waitforcert in repuppet since it must be off for cron runs.
- Configure sysconfig automatically in a new params class.
2012-09-19 - 0.4.1
- Add some more AVC lines to be allowed for passenger puppetmaster.
- Remove legacy cron job removal.
- Disable color for the cron output, makes emails more readable.
- Create a trivial script as verbose cron command, to shorten email subject.
2012-04-24 - 0.4.0
- Clean up the module to match current puppetlabs guidelines.