summaryrefslogtreecommitdiff
path: root/manifests/base.pp
blob: 6ff8fa5d47fba7ef06abc12895bf1f3a4d2582cc (plain)
1
2
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
class puppet::base {

  if !$puppet_config { $puppet_config = '/etc/puppet/puppet.conf' }

  $puppet_majorversion = regsubst($puppetversion,'^(\d+\.\d+).*$','\1')

  case $puppet_cleanup_clientbucket {
    # if not set, don't do anything
    '',undef: {}
    default: { 
      tidy { "/var/lib/puppet/clientbucket":
        backup => false,
        recurse => true,
        rmdirs => true,
        type => mtime,
        age => "$puppet_cleanup_clientbucket";
      }
    }
  }

  file { 'puppet_config':
    path => "$puppet_config",
    source => [ "puppet:///modules/site_puppet/client/${fqdn}/puppet.conf",
                "puppet:///modules/site_puppet/client/puppet.conf.$operatingsystem",
                "puppet:///modules/site_puppet/client/puppet.conf",
                "puppet:///modules/puppet/client/${puppet_majorversion}/puppet.conf.$operatingsystem",
                "puppet:///modules/puppet/client/${puppet_majorversion}/puppet.conf",
                "puppet:///modules/puppet/client/puppet.conf.$operatingsystem",
                "puppet:///modules/puppet/client/puppet.conf" ],
    notify => Service[puppet],
    # if puppetmasterd is deployed by apache2/passenger it needs to read puppet.conf 
    # therefore it must be readable by puppet
    owner => puppet, group => 0, mode => 600;  
  }

  service { 'puppet':
    ensure => running,
    enable => true,
    hasstatus => true,
    hasrestart => true,
  }
}