summaryrefslogtreecommitdiff
path: root/puppet/modules/check_mk/manifests/agent/install.pp
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/modules/check_mk/manifests/agent/install.pp')
-rw-r--r--puppet/modules/check_mk/manifests/agent/install.pp70
1 files changed, 70 insertions, 0 deletions
diff --git a/puppet/modules/check_mk/manifests/agent/install.pp b/puppet/modules/check_mk/manifests/agent/install.pp
new file mode 100644
index 00000000..5c0b56ef
--- /dev/null
+++ b/puppet/modules/check_mk/manifests/agent/install.pp
@@ -0,0 +1,70 @@
+class check_mk::agent::install (
+ $version = '',
+ $filestore = '',
+ $workspace,
+ $agent_package_name,
+ $agent_logwatch_package_name,
+ $method = 'xinetd',
+) {
+ if $method == 'xinetd' {
+ if ! defined($require_method) {
+ package { 'xinetd':
+ ensure => latest,
+ }
+ }
+ $require_method = 'Package[\'xinetd\']'
+ } else {
+ $require_method = undef
+ }
+
+ if $filestore {
+ if ! defined(File[$workspace]) {
+ file { $workspace:
+ ensure => directory,
+ }
+ }
+ file { "${workspace}/check_mk-agent-${version}.noarch.rpm":
+ ensure => latest,
+ source => "${filestore}/check_mk-agent-${version}.noarch.rpm",
+ require => $require_method,
+ }
+ file { "${workspace}/check_mk-agent-logwatch-${version}.noarch.rpm":
+ ensure => latest,
+ source => "${filestore}/check_mk-agent-logwatch-${version}.noarch.rpm",
+ require => $require_method,
+ }
+ package { 'check_mk-agent':
+ ensure => latest,
+ 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 => latest,
+ 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 {
+ if $version {
+ $agent_package_version = $version
+ } else {
+ $agent_package_version = latest
+ }
+
+ package { 'check_mk-agent':
+ ensure => $agent_package_version,
+ name => $agent_package_name,
+ require => $require_method,
+ }
+ package { 'check_mk-agent-logwatch':
+ ensure => $agent_package_version,
+ name => $agent_logwatch_package_name,
+ require => Package['check_mk-agent'],
+ }
+ }
+}