summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorKeith Burdis <keith@burdis.org>2013-02-07 10:10:37 +0000
committerKeith Burdis <keith@burdis.org>2013-02-07 10:10:37 +0000
commit8b24ecee877dd531a5df67f0eed172a908bc759d (patch)
treec4f7831cad0110c94530912b2abf33aaac0c2039 /manifests
parentba438f5646968423780403dd2469956e8b636fe9 (diff)
Initial check_mk agent config. Untested and unlikely to work.
Diffstat (limited to 'manifests')
-rw-r--r--manifests/agent.pp61
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,
+ }
+}