diff options
Diffstat (limited to 'manifests/agent')
-rw-r--r-- | manifests/agent/config.pp | 43 | ||||
-rw-r--r-- | manifests/agent/install.pp | 19 |
2 files changed, 37 insertions, 25 deletions
diff --git a/manifests/agent/config.pp b/manifests/agent/config.pp index 82636f5..460b2b2 100644 --- a/manifests/agent/config.pp +++ b/manifests/agent/config.pp @@ -4,7 +4,8 @@ class check_mk::agent::config ( $server_dir, $use_cache, $user, - $use_ssh = false + $method = 'xinetd', + $generate_sshkey = false, ) { if $use_cache { $server = "${server_dir}/check_mk_caching_agent" @@ -12,25 +13,29 @@ class check_mk::agent::config ( else { $server = "${server_dir}/check_mk_agent" } - - if ( $use_ssh == true ){ - check_mk::agent::generate_sshkey { 'check_mk_key': } - } else { - - if $ip_whitelist { - $only_from = join($ip_whitelist, ' ') + case $method { + 'xinetd': { + 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', + content => template('check_mk/agent/check_mk.erb'), + require => Package['check_mk-agent','check_mk-agent-logwatch'], + notify => Class['check_mk::agent::service'], + } } - else { - $only_from = undef - } - file { '/etc/xinetd.d/check_mk': - ensure => present, - owner => 'root', - group => 'root', - mode => '0444', - content => template('check_mk/agent/check_mk.erb'), - require => Package['check_mk-agent','check_mk-agent-logwatch'], - notify => Class['check_mk::agent::service'], + 'ssh' : { + if $generate_sshkey { + check_mk::agent::generate_sshkey { 'check_mk_key': } + } } + default : {} } } diff --git a/manifests/agent/install.pp b/manifests/agent/install.pp index 903a9f5..7e41a7b 100644 --- a/manifests/agent/install.pp +++ b/manifests/agent/install.pp @@ -4,12 +4,19 @@ class check_mk::agent::install ( $workspace, $agent_package_name, $agent_logwatch_package_name, + $method = 'xinetd', ) { - if ! defined(Package['xinetd']) { - package { 'xinetd': - ensure => present, + if $method == 'xinetd' { + if ! defined($require_method) { + package { 'xinetd': + ensure => present, + } } + $require_method = 'Package[\'xinetd\']' + } else { + $require_method = undef } + if $filestore { if ! defined(File[$workspace]) { file { $workspace: @@ -19,12 +26,12 @@ class check_mk::agent::install ( file { "${workspace}/check_mk-agent-${version}.noarch.rpm": ensure => present, source => "${filestore}/check_mk-agent-${version}.noarch.rpm", - require => Package['xinetd'], + require => $require_method, } file { "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm": ensure => present, source => "${filestore}/check_mk-agent-logwatch-${version}.noarch.rpm", - require => Package['xinetd'], + require => $require_method, } package { 'check_mk-agent': ensure => present, @@ -46,7 +53,7 @@ class check_mk::agent::install ( package { 'check_mk-agent': ensure => present, name => $agent_package_name, - require => Package['xinetd'], + require => $require_method, } package { 'check_mk-agent-logwatch': ensure => present, |