===
This module handles the various parts of puppet on a given machine.
Dependencies for this module are: apache, common, mysql and passenger
- Manages the puppet agent on a client
- Setup of configuration files
- Setup of service or crontask to run the agent periodically
- Ensure puppet agent is run at boottime
- Manages apache with passenger
- Setup of config files needed to run master
- Calls the
puppet::lint
class - Calls the
puppet::master::maintenance
class - Manages firewall rule for puppet if needed
- Maintenance to cleanup Client bucket files
- Manages Puppet Dashboard
- This installation is used by puppet systems, that need access to the dashboard
- Manages Puppet Dashboard
- This is the actual server running the Dashboard
- Configures the Dashboard MySQL settings
- Creates database for puppet with mysql module
- Calls the
puppet::dashboard::maintenance
class - Maintenance to clean up old reports, optimize database and dump database
- For the maintenance cron jobs, you should have the following line in your
/etc/sudoers
which is not managed with this module.
Defaults:root !requiretty
- Manages puppet-lint
- EL 6
===
The certificate name for the client.
- Default: $::fqdn
The location of the puppet config file.
- Default: /etc/puppet/puppet.conf
The owner of the config file.
- Default: root
The group for the config file.
- Default: root
The mode for the config file.
- Default: 0644
The selected environment for the client.
- Default: $::env
The puppet server the client should connect to.
- Default: puppet
The puppet CA server the client should use
- Default: UNSET
Whether the machine is a puppet master or not.
- Default: false
Whether to run as a service or in cron mode.
- Default: service
The interval with which the client should run (in minutes)
- Default: 30
Whether the client should run in noop mode or not.
- Default: false
The command that should be added to the crontab (in cron mode)
- Default: /usr/bin/puppet agent --onetime --ignorecache --no-daemonize --no-usecacheonfailure --detailed-exitcodes --no-splay
Whether the client should run right after boot
- Default: true
The location of the /etc/sysconfig/puppet file.
- Default: /etc/sysconfig/puppet
The name the puppet agent daemon should run as.
- Default: puppet
===
The dashboard package name.
- Default: puppet-dashboard
The user for dashboard installation.
- Default: puppet-dashboard
The group for dashboard installation.
- Default: puppet-dashboard
The script to call from puppet to get manifests from dashboard.
- Default: /usr/share/puppet-dashboard/bin/external_node
The dashboard server FQDN.
- Default: puppet.${::domain}
The port the web server will respond to.
- Default: 3000
===
You can optionally specify a hash of htpasswd entries in Hiera.
--- puppet::dashboard::htpasswd: admin: cryptpasswd: $apr1$kVPL28B8$1LggacK2dvrOf4SkOCxyO0 puppet: cryptpasswd: $apr1$F2redFE9$FCyxK2cJuHXphfeQugXBi1
The path to the database config file.
- Default: /usr/share/puppet-dashboard/config/database.yml
The owner of the database config file.
- Default: puppet-dashboard
The database config file group.
- Default: puppet-dashboard
The database config file mode.
- Default: 0640
Hash of htpasswd entries. See leinaddm/htpasswd module for more information. Only used if security is set to 'htpasswd'.
- Default: undef
String of path to htpasswd file to be used by Dashboard. Only used if security is set to 'htpasswd'.
- Default:
/etc/puppet/dashboard.htpasswd
The location for the puppet log files.
- Default: /var/log/puppet
The user for the mysql connection.
- Default: dashboard
The password for the mysql connection.
- Default: puppet
The mysql max packet size.
- Default: 32M
String to indicate security type used. Valid values are 'none' and 'htpasswd'. Using 'htpasswd' will use Apache basic auth with a htpasswd file. See htpasswd and htpasswd_path parameters.
- Default: 'none'
===
The command to run to optimize the db.
- Default: /usr/bin/rake -f /usr/share/puppet-dashboard/Rakefile RAILS_ENV=production db:raw:optimize >> /var/log/puppet/dashboard_maintenance.log
The user to run db optimization.
- Default: root
The hour on which to run db optimization.
- Default: 0
The minute at which to run db optimization.
- Default: 0
The day of the month on which to run db optimization.
- Default: 1
How many days to keep the reports.
- Default: 30
Which command to run to purge old reports.
- Default: /usr/bin/rake -f /usr/share/puppet-dashboard/Rakefile RAILS_ENV=production reports:prune upto=30 unit=day >> /var/log/puppet/dashboard_maintenance.log
User to purge reports as.
- Default: root
On which hour to purge old reports.
- Default: 0
At which minute to purge old reports.
- Default: 30
The directory to use for dumps.
- Default: /var/local
The command to run to dump the database.
- Default: sudo -u puppet-dashboard /usr/bin/rake -f /usr/share/puppet-dashboard/Rakefile RAILS_ENV=production FILE=/var/local/dashboard-
date -I
.sql db:raw:dump >> /var/log/puppet/dashboard_maintenance.log && bzip2 -v9 /var/local/dashboard-date -I
.sql >> /var/log/puppet/dashboard_maintenance.log
User to dump database as.
- Default: root
On which hour to dump database.
- Default: 1
At which minute to purge old reports.
- Default: 0
Number of days to keep database backups.
- Default: 7
User to purge old database dumps as.
- Default: root
On which hour to purge old database dumps.
- Default: 2
At which minute to purge old database dumps.
- Default: 0
===
Whether to install lint.
- Default: present
Which provider should supply lint.
- Default: gem
If you do not want to use the default version of lint, specify which version you want to use here.
- Default: undef
Which args should be added to the .puppet-lint.rc file
- Default: --no-80chars-check
The full path to the lint config file.
- Default: ${::root_home}/.puppet-lint.rc
The owner of the lint config file.
- Default: root
The group of the lint config file.
- Default: root
The mode of the lint config file.
- Default: 0644
===
In Hiera you will need to specify the following.
puppet::agent::is_puppet_master: 'true'
The rack directory path.
- Default: /usr/share/puppet/rack/puppetmasterd
The user the puppet master should run as.
- Default: puppet
Whether to manage the firewall settings on the client
- Default: undef
===
Path to where the clientbucket files are stored.
- Default: /var/lib/puppet/clientbucket
The number of days to keep clientbuckets
- Default: 30
Command used to cleanup the clientbuckets.
- Default: /usr/bin/find ${clientbucket_path} -type f -mtime +30 -exec /bin/rm -fr {} ;
User to run the clientbucket cleanup as.
- Default: root
Hour on which to run the filebucket cleanup.
- Default: 0
Minute at which to run the filebucket cleanup.
- Default: 0