puppet 4 foo
[mirror/dsa-puppet.git] / modules / monit / manifests / init.pp
index e2809f8..977f184 100644 (file)
@@ -7,58 +7,65 @@
 #   include monit
 #
 class monit {
+       if $::lsbmajdistrelease <= '7' {
+               package { 'monit':
+                       ensure => installed
+               }
 
-       package { 'monit':
-               ensure => installed
-       }
-
-       $cmd = $::lsbdistcodename ? {
-               'squeeze'    => '/usr/sbin/monit',
-               default  => '/usr/bin/monit',
-       }
+               augeas { 'inittab_monit':
+                       context => '/files/etc/inittab',
+                       changes => [
+                               'set mo/runlevels 2345',
+                               'set mo/action respawn',
+                               "set mo/process \"/usr/bin/monit -d 300 -I -c /etc/monit/monitrc -s /var/lib/monit/monit.state\"",
+                       ],
+                       notify => Exec['init q'],
+               }
 
-       augeas { 'inittab_monit':
-               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/':
-               ensure  => directory,
-               mode    => '0755',
-               purge   => true,
-               notify  => Exec['monit stop'],
-               require => Package['monit'],
-       }
-       file { '/etc/monit/monit.d':
-               ensure  => directory,
-               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/monit/':
+                       ensure  => directory,
+                       mode    => '0755',
+                       purge   => true,
+                       notify  => Exec['service monit stop'],
+                       require => Package['monit'],
+               }
+               file { '/etc/monit/monit.d':
+                       ensure  => directory,
+                       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['service monit stop']
+               }
 
-       exec { 'monit stop':
-               path        => '/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin',
-               refreshonly => true,
+               exec { 'service monit stop':
+                       refreshonly => true,
+               }
+       } else {
+               package { 'monit':
+                       ensure => purged
+               }
+               file { [ '/etc/monit/',
+                        '/etc/monit/monit.d',
+                        '/etc/monit/monit.d/01puppet',
+                        '/etc/monit/monit.d/00debian.org'
+                       ]:
+                       ensure  => absent,
+                       force   => true
+               }
        }
 }