puppet-prod/site/profiles/manifests/puppet/client.pp
Ben Vincent 49f142a6a3
All checks were successful
Build / precommit (pull_request) Successful in 5m38s
fix: thundering hurd
- started all puppet clients at the same time, resulting in thundering herd
- add a randomness timer of 10 minutes
2026-01-12 20:12:57 +11:00

45 lines
1.3 KiB
Puppet

# Class: profiles::puppet::client
#
# This class manages Puppet client configuration.
#
# site/profile/manifests/puppet/client.pp
class profiles::puppet::client (
Array $dns_alt_names = [$trusted['certname']],
String $server = 'puppetmaster',
String $ca_server = 'puppetca',
String $environment = 'develop',
Integer $runinterval = 1800,
Integer $runtimeout = 3600,
Boolean $show_diff = true,
Boolean $usecacheonfailure = false,
Integer $facts_soft_limit = 4096,
Boolean $splay = true,
Integer $splaylimit = 600,
) {
# dont manage puppet.conf if this is a puppetmaster
if $facts['enc_role'] != 'roles::infra::puppet::master' {
$dns_alt_names_string = join(sort($dns_alt_names), ',')
# Assuming you want to manage puppet.conf with this profile
file { '/etc/puppetlabs/puppet/puppet.conf':
ensure => 'present',
content => template('profiles/puppet/client/puppet.conf.erb'),
owner => 'root',
group => 'root',
mode => '0644',
notify => Service['puppet'],
}
package { 'toml_puppetagent_gem':
ensure => installed,
name => 'toml',
provider => 'puppet_gem',
notify => Service['puppet'],
}
}
}