diff options
author | Keith Burdis <keith@burdis.org> | 2013-02-08 14:40:28 +0000 |
---|---|---|
committer | Keith Burdis <keith@burdis.org> | 2013-02-08 14:40:28 +0000 |
commit | 3401c1162efe67b90bcf755daa5ee2d90876b5d9 (patch) | |
tree | 7219f0ea6d734985554be9d78f158c97329b891e /manifests | |
parent | 1cb0872bdc363c7f2181908647d25b78a9a1064a (diff) |
Use the default system repository by default. Restructured agent configs to be cleaner and more maintainable.
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/agent.pp | 83 | ||||
-rw-r--r-- | manifests/agent/config.pp | 28 | ||||
-rw-r--r-- | manifests/agent/install.pp | 53 | ||||
-rw-r--r-- | manifests/agent/service.pp | 8 |
4 files changed, 104 insertions, 68 deletions
diff --git a/manifests/agent.pp b/manifests/agent.pp index 2ce6bb8..8ed872a 100644 --- a/manifests/agent.pp +++ b/manifests/agent.pp @@ -1,78 +1,25 @@ class check_mk::agent ( - $version, - $filestore = 'puppet:///files/check_mk', + $filestore = undef, $ip_whitelist = undef, $port = '6556', $server_dir = '/usr/bin', $use_cache = false, $user = 'root', + $version = undef, $workspace = '/root/check_mk', ) { - if ! defined(Package['xinetd']) { - package { 'xinetd': - ensure => present, - } - } - if ! defined(File[$workspace]) { - file { $workspace: - ensure => directory, - } - } - file { "${workspace}/check_mk-agent-${version}.noarch.rpm": - ensure => present, - source => "${filestore}/check_mk-agent-${version}.noarch.rpm", - require => Package['xinetd'], - } - file { "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm": - ensure => present, - source => "${filestore}/check_mk-agent-logwatch-${version}.noarch.rpm", - require => Package['xinetd'], - } - package { 'check_mk-agent': - ensure => present, - provider => 'rpm', - source => "${workspace}/check_mk-agent-${version}.noarch.rpm", - require => File["${workspace}/check_mk-agent-${version}.noarch.rpm"], - } - package { 'check_mk-agent-logwatch': - ensure => present, - provider => 'rpm', - source => "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm", - require => [ - File["${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm"], - Package['check_mk-agent'], - ], - } - 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', - content => template('check_mk/agent/check_mk.erb'), - require => Package['check_mk-agent','check_mk-agent-logwatch'], - notify => Service['xinetd'], - } - if ! defined(Service['xinetd']) { - service { 'xinetd': - ensure => 'running', - enable => true, - } - } - exec { 'check_mk-refresh-inventory': - command => '/usr/bin/cmk -I', - schedule => 'daily', - } + class check_mk::agent::install { + version => $version, + filestore => $filestore, + workspace => $workspace, + } + class check_mk::agent::config { + ip_whitelist => $ip_whitelist, + port => $port, + use_cache => $use_cache, + user => $user, + require => Class['check_mk::agent::install'], + } + include check_mk::agent::service @@check_mk::host { $::fqdn: } } diff --git a/manifests/agent/config.pp b/manifests/agent/config.pp new file mode 100644 index 0000000..2456648 --- /dev/null +++ b/manifests/agent/config.pp @@ -0,0 +1,28 @@ +class check_mk::agent::config ( + $ip_whitelist, + $port, + $use_cache, + $user, +) { + 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', + content => template('check_mk/agent/check_mk.erb'), + require => Package['check_mk-agent','check_mk-agent-logwatch'], + notify => Class['check_mk::agent::service'], + } +} diff --git a/manifests/agent/install.pp b/manifests/agent/install.pp new file mode 100644 index 0000000..4d7dc29 --- /dev/null +++ b/manifests/agent/install.pp @@ -0,0 +1,53 @@ +class check_mk::agent::install ( + $version, + $filestore, + $workspace, +) { + if ! defined(Package['xinetd']) { + package { 'xinetd': + ensure => present, + } + } + if $filestore { + if ! defined(File[$workspace]) { + file { $workspace: + ensure => directory, + } + } + file { "${workspace}/check_mk-agent-${version}.noarch.rpm": + ensure => present, + source => "${filestore}/check_mk-agent-${version}.noarch.rpm", + require => Package['xinetd'], + } + file { "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm": + ensure => present, + source => "${filestore}/check_mk-agent-logwatch-${version}.noarch.rpm", + require => Package['xinetd'], + } + package { 'check_mk-agent': + ensure => present, + provider => 'rpm', + source => "${workspace}/check_mk-agent-${version}.noarch.rpm", + require => File["${workspace}/check_mk-agent-${version}.noarch.rpm"], + } + package { 'check_mk-agent-logwatch': + ensure => present, + provider => 'rpm', + source => "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm", + require => [ + File["${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm"], + Package['check_mk-agent'], + ], + } + } + else { + package { 'check_mk-agent': + ensure => present, + require => Package['xinetd'], + } + package { 'check_mk-agent-logwatch': + ensure => present, + require => Package['check_mk-agent'], + } + } +} diff --git a/manifests/agent/service.pp b/manifests/agent/service.pp new file mode 100644 index 0000000..0f70708 --- /dev/null +++ b/manifests/agent/service.pp @@ -0,0 +1,8 @@ +class check_mk::agent::service { + if ! defined(Service['xinetd']) { + service { 'xinetd': + ensure => 'running', + enable => true, + } + } +} |