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
43
44
45
46
47
48
49
|
# handles puppetmasterd service
class puppet::master::mongrel {
# Include nginx
include nginx::puppetmaster
case defined(Package["mongrel"]) {
false: { package { "mongrel": ensure => installed, } }
}
package { "puppetmaster":
ensure => installed,
}
service { "puppetmaster":
enable => true,
ensure => running,
hasrestart => true,
pattern => 'puppet master',
require => [ Package['puppetmaster'], Package['mongrel'], Service['nginx'] ],
}
# restart the master from time to time to avoid memory problems
# thanks to https://labs.riseup.net/code/projects/shared-puppet
file { "/etc/cron.d/puppetmaster":
source => "puppet:///modules/puppet/cron.d/puppetmaster",
owner => root,
group => root,
mode => 0644;
}
}
class puppet::master::mongrel::disabled inherits puppet::master::mongrel {
include nginx::puppetmaster::disabled
Service['puppetmaster'] {
enable => false,
ensure => stopped,
}
Package['puppetmaster', 'mongrel'] {
ensure => absent,
}
File['/etc/cron.d/puppetmaster'] {
ensure => absent,
}
}
|