Puppet Class: puppet::agent

Defined in:
manifests/agent.pp

Overview



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
    }
  }

}