X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmonit%2Fmanifests%2Finit.pp;h=977f1847cf29a34483cc3eedbf1d5f82c9c7c3e0;hb=27192017dd0fd3997953667ee93033b1c82b7eb8;hp=a3b92820ee3cf9ae2a1675de4dbe9532aeb28793;hpb=32ed1d575838c74dc2f6f94eda68d9ab5b3e7b0e;p=mirror%2Fdsa-puppet.git diff --git a/modules/monit/manifests/init.pp b/modules/monit/manifests/init.pp index a3b92820e..977f1847c 100644 --- a/modules/monit/manifests/init.pp +++ b/modules/monit/manifests/init.pp @@ -1,54 +1,71 @@ +# = Class: monit +# +# This class installs and configures monit +# +# == Sample Usage: +# +# include monit +# class monit { - package { "monit": ensure => installed; - } + if $::lsbmajdistrelease <= '7' { + 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'], + } - file { - "/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'] + } - file { - "/etc/monit/monit.d/01puppet": - source => "puppet:///monit/puppet", - require => Package["monit"], - notify => Exec["monit restart"] - mode => 440, - ; - } - - file { - "/etc/monit/monit.d/00debian.org": - source => "puppet:///monit/debianorg", - require => Package["monit"], - notify => Exec["monit restart"] - mode => 440, - ; - } - - 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 { '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 + } + } } -