3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'manifests/agent.pp', line 3
class puppet::agent {
include ::puppet
include ::puppet::defaults
$sysconfigdir = $::puppet::defaults::sysconfigdir
if ( versioncmp($::puppetversion, '4.0.0') >= 0 ) {
$bin_dir = '/opt/puppetlabs/bin'
} else {
$bin_dir = '/usr/bin'
}
if $::puppet::enabled {
#we want puppet enabled
case $::puppet::enable_mechanism {
'service': {
#we want puppet enabled as a service
$cron_enablement = 'absent'
$service_enablement = true
$start_enablement = 'yes'
}
'cron': {
$cron_enablement = 'present'
$service_enablement = false
$start_enablement = 'no'
}
default: {
#noop. should never happen.
}
}
} else {
#$::puppet::enabled is false
$cron_enablement = 'absent'
$service_enablement = false
$start_enablement = 'no'
}
cron {'run_puppet_agent':
ensure => $cron_enablement,
command => "${bin_dir}/puppet agent --no-daemonize --onetime",
special => 'absent',
minute => $::puppet::agent_cron_min_interpolated,
hour => $::puppet::agent_cron_hour_interpolated,
}
service { 'puppet':
ensure => $service_enablement,
enable => $service_enablement,
require => Class['puppet::config']
}
if $::osfamily =='Debian' {
ini_setting { 'puppet sysconfig start':
ensure => 'present',
section => '',
key_val_separator => '=',
path => "${sysconfigdir}/puppet",
setting => 'START',
value => $start_enablement
}
}
}
|