diff --git a/nagios/manifests/init.pp b/nagios/manifests/init.pp index 850c7f3..1288f1e 100644 --- a/nagios/manifests/init.pp +++ b/nagios/manifests/init.pp @@ -33,6 +33,10 @@ class nagios::common { $cgibin = "/usr/lib/cgi-bin/nagios3" $htdocs = "/usr/share/nagios3/htdocs" } + "openbsd": { + # no params set as we don't support server on openbsd yet + $libdir = "/usr/local/libexec/nagios" + } default: { fail("Nagios not supported on ${::operatingsystem}") } @@ -67,6 +71,9 @@ class nagios::server::manual inherits nagios::common { target => "/etc/nagios3/stylesheets", } } + default: { + fail("nagios::server not supported in ${::operatingsystem}") + } } exec { "usermod-nagios-httpsd": diff --git a/nagios/manifests/target.pp b/nagios/manifests/target.pp index b000fec..77cfe97 100644 --- a/nagios/manifests/target.pp +++ b/nagios/manifests/target.pp @@ -115,13 +115,32 @@ class nagios::target::nrpe inherits nagios::target { before => [ File["/etc/nrpe.d"], Service["nrpe"] ], } } + "openbsd": { + $service = "nrpe" + $nrpedir = "/etc/nrpe.d" + package { "nrpe": + ensure => installed, + } + exec { "add-nrpe-include-dir": + command => "echo 'include_dir=${nrpedir}/' >> /etc/nrpe.cfg", + path => "/bin:/usr/bin:/sbin:/usr/sbin", + user => "root", + unless => "egrep '^include_dir=/etc/${nrpedir}/' /etc/nrpe.cfg", + require => Package["nrpe"], + notify => Service[$service], + before => File[$nrpedir], + } + } } file { "/etc/nrpe.d": ensure => directory, mode => "0644", owner => "root", - group => "root", + group => $::operatingsystem ? { + "openbsd" => "wheel", + default => "root", + }, purge => true, force => true, recurse => true, @@ -138,7 +157,10 @@ class nagios::target::nrpe inherits nagios::target { ensure => present, mode => "0644", owner => "root", - group => "root", + group => $::operatingsystem ? { + "openbsd" => "wheel", + default => "root", + }, content => "allowed_hosts=${nagios_allow}\n", require => File["/etc/nrpe.d"], notify => Service["nrpe"], @@ -148,7 +170,10 @@ class nagios::target::nrpe inherits nagios::target { ensure => present, mode => "0644", owner => "root", - group => "root", + group => $::operatingsystem ? { + "openbsd" => "wheel", + default => "root", + }, content => "command[check_disk]=${nagios::common::libdir}/check_disk -w 20% -c 10% -p /\n", require => File["/etc/nrpe.d"], notify => Service["nrpe"], @@ -162,7 +187,10 @@ class nagios::target::nrpe inherits nagios::target { ensure => present, mode => "0644", owner => "root", - group => "root", + group => $::operatingsystem ? { + "openbsd" => "wheel", + default => "root", + }, content => "command[check_load]=${nagios::common::libdir}/check_load -r -w 3,2,1 -c 6,4,2\n", require => File["/etc/nrpe.d"], notify => Service["nrpe"], @@ -176,7 +204,10 @@ class nagios::target::nrpe inherits nagios::target { ensure => present, mode => "0644", owner => "root", - group => "root", + group => $::operatingsystem ? { + "openbsd" => "wheel", + default => "root", + }, content => "command[check_swap]=${nagios::common::libdir}/check_swap -w 75% -c 50%\n", require => File["/etc/nrpe.d"], notify => Service["nrpe"],