summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorKeith Burdis <keith@burdis.org>2013-02-08 14:40:28 +0000
committerKeith Burdis <keith@burdis.org>2013-02-08 14:40:28 +0000
commit3401c1162efe67b90bcf755daa5ee2d90876b5d9 (patch)
tree7219f0ea6d734985554be9d78f158c97329b891e /manifests
parent1cb0872bdc363c7f2181908647d25b78a9a1064a (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.pp83
-rw-r--r--manifests/agent/config.pp28
-rw-r--r--manifests/agent/install.pp53
-rw-r--r--manifests/agent/service.pp8
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,
+ }
+ }
+}