63 lines
1.8 KiB
Puppet
63 lines
1.8 KiB
Puppet
class puppet (
|
|
$ensure = 'present',
|
|
$version = undef,
|
|
$agent = true,
|
|
$server = false,
|
|
$facter_version = $ensure,
|
|
$agent_cron = true,
|
|
$puppetlabs_apt = true,
|
|
$agent_norunifloggedin = false,
|
|
$agent_daemonize = true,
|
|
$agent_run_hour = '*/1',
|
|
$agent_run_minute = '10',
|
|
$agent_run_if_ipmatch = '',
|
|
$agent_splay = true,
|
|
$server_dns_alt_names = undef,
|
|
$server_storeconfigs = false,
|
|
$server_storeconfigs_backend = undef,
|
|
$server_basemodulepath = undef,
|
|
$server_reports = 'store',
|
|
$server_passenger = true) {
|
|
if $puppetlabs_apt {
|
|
class { 'puppet::puppetlabs_apt': before => Class['puppet::facter'] }
|
|
}
|
|
|
|
if $version != undef {
|
|
apt::pin { 'puppet':
|
|
version => $version,
|
|
packages => 'puppet*',
|
|
priority => '100',
|
|
}
|
|
}
|
|
|
|
class { 'puppet::facter':
|
|
ensure => $facter_version,
|
|
}
|
|
|
|
if $agent {
|
|
class { 'puppet::agent':
|
|
ensure => $ensure,
|
|
version => $version,
|
|
norunifloggedin => $agent_norunifloggedin,
|
|
daemonize => $agent_daemonize,
|
|
run_hour => $agent_run_hour,
|
|
run_if_ipmatch => $agent_run_if_ipmatch,
|
|
splay => $agent_splay,
|
|
cron => $agent_cron,
|
|
}
|
|
}
|
|
|
|
if $server {
|
|
class { 'puppet::server':
|
|
ensure => $ensure,
|
|
version => $version,
|
|
dns_alt_names => $server_dns_alt_names,
|
|
storeconfigs => $server_storeconfigs,
|
|
storeconfigs_backend => $server_storeconfigs_backend,
|
|
reports => $server_reports,
|
|
basemodulepath => $server_basemodulepath,
|
|
passenger => $server_passenger;
|
|
}
|
|
}
|
|
}
|