diff options
Diffstat (limited to 'manifests/base.pp')
-rw-r--r-- | manifests/base.pp | 176 |
1 files changed, 46 insertions, 130 deletions
diff --git a/manifests/base.pp b/manifests/base.pp index b93150a..c0ebf77 100644 --- a/manifests/base.pp +++ b/manifests/base.pp @@ -63,16 +63,15 @@ class nagios::base { owner => root, group => nagios, mode => '0640'; - 'nagios_confd': - ensure => directory, - path => "${cfg_dir}/conf.d", - purge => true, - recurse => true, - notify => Service['nagios'], - owner => root, - group => nagios, - mode => '0750'; } + + if $cfg_dir == '/etc/nagios3' { + file{'/etc/nagios': + ensure => link, + target => $cfg_dir, + } + } + Nagios_command <<||>> Nagios_contactgroup <<||>> Nagios_contact <<||>> @@ -87,177 +86,94 @@ class nagios::base { Nagios_serviceextinfo <<||>> Nagios_service <<||>> Nagios_timeperiod <<||>> - if $nagios::purge_resources { - resources { - [ - 'nagios_command', - 'nagios_contactgroup', - 'nagios_contact', - 'nagios_hostdependency', - 'nagios_hostescalation', - 'nagios_hostextinfo', - 'nagios_hostgroup', - 'nagios_host', - 'nagios_servicedependency', - 'nagios_serviceescalation', - 'nagios_servicegroup', - 'nagios_serviceextinfo', - 'nagios_service', - 'nagios_timeperiod', - ]: - notify => Service['nagios'], - purge => true; - } - } Nagios_command <||> { - target => "${cfg_dir}/conf.d/nagios_command.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_contact <||> { - target => "${cfg_dir}/conf.d/nagios_contact.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_contactgroup <||> { - target => "${cfg_dir}/conf.d/nagios_contactgroup.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_host <||> { - target => "${cfg_dir}/conf.d/nagios_host.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_hostdependency <||> { - target => "${cfg_dir}/conf.d/nagios_hostdependency.cfg", notify => Service['nagios'], } Nagios_hostescalation <||> { - target => "${cfg_dir}/conf.d/nagios_hostescalation.cfg", notify => Service['nagios'], } Nagios_hostextinfo <||> { - target => "${cfg_dir}/conf.d/nagios_hostextinfo.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_hostgroup <||> { - target => "${cfg_dir}/conf.d/nagios_hostgroup.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_service <||> { - target => "${cfg_dir}/conf.d/nagios_service.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_servicegroup <||> { - target => "${cfg_dir}/conf.d/nagios_servicegroup.cfg", notify => Service['nagios'], } Nagios_servicedependency <||> { - target => "${cfg_dir}/conf.d/nagios_servicedependency.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_serviceescalation <||> { - target => "${cfg_dir}/conf.d/nagios_serviceescalation.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_serviceextinfo <||> { - target => "${cfg_dir}/conf.d/nagios_serviceextinfo.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } Nagios_timeperiod <||> { - target => "${cfg_dir}/conf.d/nagios_timeperiod.cfg", - require => File['nagios_confd'], notify => Service['nagios'], } file{ - # manage nagios cfg files - # must be defined after exported resource overrides and cfg file defs - 'nagios_cfgdir': - ensure => directory, - path => $cfg_dir, - recurse => true, - purge => true, - force => true, - notify => Service['nagios'], - owner => root, - group => root, - mode => '0755'; - ["${cfg_dir}/conf.d/nagios_command.cfg", - "${cfg_dir}/conf.d/nagios_contact.cfg", - "${cfg_dir}/conf.d/nagios_contactgroup.cfg", - "${cfg_dir}/conf.d/nagios_host.cfg", - "${cfg_dir}/conf.d/nagios_hostdependency.cfg", - "${cfg_dir}/conf.d/nagios_hostescalation.cfg", - "${cfg_dir}/conf.d/nagios_hostextinfo.cfg", - "${cfg_dir}/conf.d/nagios_hostgroup.cfg", - "${cfg_dir}/conf.d/nagios_hostgroupescalation.cfg", - "${cfg_dir}/conf.d/nagios_service.cfg", - "${cfg_dir}/conf.d/nagios_servicedependency.cfg", - "${cfg_dir}/conf.d/nagios_serviceescalation.cfg", - "${cfg_dir}/conf.d/nagios_serviceextinfo.cfg", - "${cfg_dir}/conf.d/nagios_servicegroup.cfg", - "${cfg_dir}/conf.d/nagios_timeperiod.cfg" ]: + ["${cfg_dir}/nagios_command.cfg", + "${cfg_dir}/nagios_contact.cfg", + "${cfg_dir}/nagios_contactgroup.cfg", + "${cfg_dir}/nagios_host.cfg", + "${cfg_dir}/nagios_hostdependency.cfg", + "${cfg_dir}/nagios_hostescalation.cfg", + "${cfg_dir}/nagios_hostextinfo.cfg", + "${cfg_dir}/nagios_hostgroup.cfg", + "${cfg_dir}/nagios_hostgroupescalation.cfg", + "${cfg_dir}/nagios_service.cfg", + "${cfg_dir}/nagios_servicedependency.cfg", + "${cfg_dir}/nagios_serviceescalation.cfg", + "${cfg_dir}/nagios_serviceextinfo.cfg", + "${cfg_dir}/nagios_servicegroup.cfg", + "${cfg_dir}/nagios_timeperiod.cfg" ]: ensure => file, replace => false, notify => Service['nagios'], owner => root, group => 0, mode => '0644'; - # unfortuantely resource purging only works on the default path and - # because we changed it above -> link the default path - "${cfg_dir}/nagios_command.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_command.cfg"; - "${cfg_dir}/nagios_contact.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_contact.cfg"; - "${cfg_dir}/nagios_contactgroup.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_contactgroup.cfg"; - "${cfg_dir}/nagios_host.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_host.cfg"; - "${cfg_dir}/nagios_hostdependency.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_hostdependency.cfg"; - "${cfg_dir}/nagios_hostescalation.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_hostescalation.cfg"; - "${cfg_dir}/nagios_hostextinfo.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_hostextinfo.cfg"; - "${cfg_dir}/nagios_hostgroup.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_hostgroup.cfg"; - "${cfg_dir}/nagios_hostgroupescalation.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_hostgroupescalation.cfg"; - "${cfg_dir}/nagios_service.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_service.cfg"; - "${cfg_dir}/nagios_servicedependency.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_servicedependency.cfg"; - "${cfg_dir}/nagios_serviceescalation.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_serviceescalation.cfg"; - "${cfg_dir}/nagios_serviceextinfo.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_serviceextinfo.cfg"; - "${cfg_dir}/nagios_servicegroup.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_servicegroup.cfg"; - "${cfg_dir}/nagios_timeperiod.cfg": - ensure => link, - target => "${cfg_dir}/conf.d/nagios_timeperiod.cfg"; + } + + if $nagios::purge_resources { + resources { + [ + 'nagios_command', + 'nagios_contactgroup', + 'nagios_contact', + 'nagios_hostdependency', + 'nagios_hostescalation', + 'nagios_hostextinfo', + 'nagios_hostgroup', + 'nagios_host', + 'nagios_servicedependency', + 'nagios_serviceescalation', + 'nagios_servicegroup', + 'nagios_serviceextinfo', + 'nagios_service', + 'nagios_timeperiod', + ]: + notify => Service['nagios'], + purge => true; + } } } |