]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/monit/manifests/init.pp
8b29f48de63427ee4dd150892dbecf9b1f3b45cd
[dsa-puppet.git] / modules / monit / manifests / init.pp
1 class monit {
2
3         package { 'monit':
4                 ensure => installed
5         }
6
7         $cmd = $::lsbdistcodename ? {
8                 'sid'    => '/usr/bin/monit',
9                 'wheezy' => '/usr/bin/monit',
10                 default  => '/usr/sbin/monit',
11         }
12
13         augeas { 'inittab':
14                 context => '/files/etc/inittab',
15                 changes => [ 'set mo/runlevels 2345',
16                                 'set mo/action respawn',
17                                 "set mo/process \"$cmd -d 300 -I -c /etc/monit/monitrc -s /var/lib/monit/monit.state\"",
18                 ],
19                 notify => Exec['init q'],
20         }
21
22         file { '/etc/monit/':
23                 ensure  => directory,
24                 owner   => root,
25                 group   => root,
26                 mode    => '0755',
27                 purge   => true,
28                 notify  => Exec['monit stop'],
29                 require => Package['monit'],
30         }
31         file { '/etc/monit/monit.d':
32                 ensure  => directory,
33                 owner   => root,
34                 group   => root,
35                 mode    => '0750',
36                 purge   => true,
37         }
38         file { '/etc/monit/monitrc':
39                 content => template('monit/monitrc.erb'),
40                 mode    => '0400'
41         }
42         file { '/etc/monit/monit.d/01puppet':
43                 source  => 'puppet:///modules/monit/puppet',
44                 mode    => '0440'
45         }
46         file { '/etc/monit/monit.d/00debian.org':
47                 source  => 'puppet:///modules/monit/debianorg',
48                 mode    => '0440'
49         }
50         file { '/etc/default/monit':
51                 content => template('monit/default.erb'),
52                 require => Package['monit'],
53                 notify  => Exec['monit stop']
54         }
55
56         exec { 'monit stop':
57                 path        => '/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin',
58                 refreshonly => true,
59         }
60 }