diff options
author | Keith Burdis <keith@burdis.org> | 2013-02-07 10:10:37 +0000 |
---|---|---|
committer | Keith Burdis <keith@burdis.org> | 2013-02-07 10:10:37 +0000 |
commit | 8b24ecee877dd531a5df67f0eed172a908bc759d (patch) | |
tree | c4f7831cad0110c94530912b2abf33aaac0c2039 /manifests/agent.pp | |
parent | ba438f5646968423780403dd2469956e8b636fe9 (diff) |
Initial check_mk agent config. Untested and unlikely to work.
Diffstat (limited to 'manifests/agent.pp')
-rw-r--r-- | manifests/agent.pp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/manifests/agent.pp b/manifests/agent.pp new file mode 100644 index 0000000..4a83e34 --- /dev/null +++ b/manifests/agent.pp @@ -0,0 +1,61 @@ +class check_mk::agent ( + $version, + $filestore = 'puppet://files/check_mk', + $ip_whitelist = undef, + $port = '6556', + $server_dir = '/usr/bin', + $use_cache = false, + $user = 'root', + $workspace = '/root/check_mk', +) { + if ! defined(Package['xinetd']) { + package { 'xinetd': + ensure => present, + } + } + file { "${workspace}/check_mk-agent-${version}.noarch.rpm": + ensure => present, + content => "${filestore}/check_mk-agent-${version}.noarch.rpm", + require => Package['xinetd'], + } + file { "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm": + ensure => present, + content => "${filestore}/check_mk-agent-logwatch-${version}.noarch.rpm", + require => Package['xinetd'], + } + package { 'check_mk-agent': + ensure => present, + source => "${workspace}/check_mk-agent-${version}.noarch.rpm", + require => File["${workspace}/check_mk-agent-${version}.noarch.rpm"], + } + package { 'check_mk-agent-logwatch': + ensure => present, + content => "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm", + require => File["${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm"], + } + if $use_cache { + $server = "${server_dir}/check_mk_caching_agent" + } + else { + $server = "${server_dir}/check_mk_agent" + } + if $ip_whitelist { + $only_from = join($ip_whitelist, ' ') + } + else { + $only_from = undef + } + file { '/etc/xinetd.d/check_mk': + ensure => present, + owner => 'root', + group => 'root', + mode => '0444', + source => template('check_mk/agent/check_mk.erb'), + require => Package['check_mk-agent','check_mk-agent-logwatch'], + notify => Service['xinetd'], + } + service { 'xinetd': + ensure => 'running', + enable => true, + } +} |