X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmonit%2Fmanifests%2Finit.pp;h=999cdfb3d8a8a998fcb6722060006a385e6b7d6c;hb=8ce239a5cee5871a83bd5159c307fe2a720fda6c;hp=430d37170239ee771ded44e35002e515e2c11baf;hpb=b222c3187ec6339ec3bb062717f2e59a36d2d9fb;p=mirror%2Fdsa-puppet.git diff --git a/modules/monit/manifests/init.pp b/modules/monit/manifests/init.pp index 430d37170..999cdfb3d 100644 --- a/modules/monit/manifests/init.pp +++ b/modules/monit/manifests/init.pp @@ -1,45 +1,71 @@ +# = Class: monit +# +# This class installs and configures monit +# +# == Sample Usage: +# +# include monit +# class monit { - package { "monit": ensure => installed } + if versioncmp($::lsbmajdistrelease, '7') <= 0 { + package { 'monit': + ensure => installed + } - file { - "/etc/monit/monitrc": - source => "puppet:///monit/monitrc", - require => Package["monit"], - notify => Exec["monit restart"] - mode => 440 - ; + 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'], + } - "/etc/monit/monit.d": - ensure => directory, - owner => root, - group => root, - mode => 750, - purge => true - ; + 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'] + } - "/etc/monit/monit.d/01puppet": - source => "puppet:///monit/puppet", - require => Package["monit"], - notify => Exec["monit restart"] - mode => 440 - ; - - "/etc/monit/monit.d/00debian.org": - source => "puppet:///monit/debianorg", - require => Package["monit"], - notify => Exec["monit restart"] - mode => 440 - ; - - "/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 { '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 + } + } } -