]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/monit/manifests/init.pp
7792b086f0b55a619942500bfc9f4085a4119bd2
[dsa-puppet.git] / modules / monit / manifests / init.pp
1 class monit {
2     package { "monit": ensure => installed }
3
4     $cmd = $::lsbdistcodename ? {
5          'sid'      => '/usr/bin/monit',
6          'wheezy'   => '/usr/bin/monit',
7          default  => '/usr/sbin/monit',
8     }
9
10     augeas { "inittab":
11         context => "/files/etc/inittab",
12         changes => [ "set mo/runlevels 2345",
13                      "set mo/action respawn",
14                      "set mo/process \"$cmd -d 300 -I -c /etc/monit/monitrc -s /var/lib/monit/monit.state\"",
15                    ],
16         notify => Exec["init q"],
17     }
18
19     file {
20         #"/etc/rc2.d/K99monit":
21         #  ensure  => "../init.d/monit";
22         #"/etc/rc2.d/S99monit":
23         #  ensure  => absent;
24
25         "/etc/monit/":
26           ensure  => directory,
27           owner   => root,
28           group   => root,
29           mode    => 755,
30           purge   => true
31           ;
32
33         "/etc/monit/monitrc":
34           content => template("monit/monitrc.erb"),
35           require => Package["monit"],
36           notify  => Exec["monit stop"],
37           mode    => 400
38           ;
39
40         "/etc/monit/monit.d":
41           ensure  => directory,
42           owner   => root,
43           group   => root,
44           mode    => 750,
45           purge   => true
46           ;
47
48         "/etc/monit/monit.d/01puppet":
49           source  => "puppet:///modules/monit/puppet",
50           require => Package["monit"],
51           notify  => Exec["monit stop"],
52           mode    => 440
53           ;
54
55         "/etc/monit/monit.d/00debian.org":
56           source  => "puppet:///modules/monit/debianorg",
57           require => Package["monit"],
58           notify  => Exec["monit stop"],
59           mode    => 440
60           ;
61
62         "/etc/default/monit":
63           content => template("monit/default.erb"),
64           require => Package["monit"],
65           notify  => Exec["monit stop"]
66           ;
67     }
68     exec { "monit stop":
69         path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
70         refreshonly => true,
71     }
72 }
73
74 # vim:set et:
75 # vim:set sts=4 ts=4:
76 # vim:set shiftwidth=4: