]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/monit/manifests/init.pp
some sample rdoc
[dsa-puppet.git] / modules / monit / manifests / init.pp
index a3b92820ee3cf9ae2a1675de4dbe9532aeb28793..8b9880ff4cfd82b939db4a204db71d1ef885c07a 100644 (file)
@@ -1,54 +1,68 @@
+# = Class: monit
+#
+# This class installs and configures monit
+#
+# == Sample Usage:
+#
+#   include monit
+#
 class monit {
-    package { "monit": ensure => installed;
-    }
 
-    file {
-        "/etc/monit/monitrc":
-          source  => "puppet:///monit/monitrc",
-          require => Package["monit"],
-          notify  => Exec["monit restart"]
-          mode    => 440,
-          ;
-    }
+       package { 'monit':
+               ensure => installed
+       }
 
-    file {
-        "/etc/monit/monit.d":
-          ensure  => directory,
-          owner   => root,
-          group   => root,
-          mode    => 750,
-          purge   => true
-          ;
-    }
+       $cmd = $::lsbdistcodename ? {
+               'sid'    => '/usr/bin/monit',
+               'wheezy' => '/usr/bin/monit',
+               default  => '/usr/sbin/monit',
+       }
 
-    file {
-        "/etc/monit/monit.d/01puppet":
-          source  => "puppet:///monit/puppet",
-          require => Package["monit"],
-          notify  => Exec["monit restart"]
-          mode    => 440,
-          ;
-    }
+       augeas { 'inittab':
+               context => '/files/etc/inittab',
+               changes => [ 'set mo/runlevels 2345',
+                               'set mo/action respawn',
+                               "set mo/process \"$cmd -d 300 -I -c /etc/monit/monitrc -s /var/lib/monit/monit.state\"",
+               ],
+               notify => Exec['init q'],
+       }
 
-    file {
-        "/etc/monit/monit.d/00debian.org":
-          source  => "puppet:///monit/debianorg",
-          require => Package["monit"],
-          notify  => Exec["monit restart"]
-          mode    => 440,
-          ;
-    }
+       file { '/etc/monit/':
+               ensure  => directory,
+               owner   => root,
+               group   => root,
+               mode    => '0755',
+               purge   => true,
+               notify  => Exec['monit stop'],
+               require => Package['monit'],
+       }
+       file { '/etc/monit/monit.d':
+               ensure  => directory,
+               owner   => root,
+               group   => root,
+               mode    => '0750',
+               purge   => true,
+       }
+       file { '/etc/monit/monitrc':
+               content => template('monit/monitrc.erb'),
+               mode    => '0400'
+       }
+       file { '/etc/monit/monit.d/01puppet':
+               source  => 'puppet:///modules/monit/puppet',
+               mode    => '0440'
+       }
+       file { '/etc/monit/monit.d/00debian.org':
+               source  => 'puppet:///modules/monit/debianorg',
+               mode    => '0440'
+       }
+       file { '/etc/default/monit':
+               content => template('monit/default.erb'),
+               require => Package['monit'],
+               notify  => Exec['monit stop']
+       }
 
-    file {
-        "/etc/default/monit":
-          source  => "puppet:///monit/default",
-          require => Package["monit"],
-          notify  => Exec["monit restart"]
-          ;
-    }
-    exec { "monit restart":
-        path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
-        refreshonly => true,
-    }
+       exec { 'monit stop':
+               path        => '/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin',
+               refreshonly => true,
+       }
 }
-