summaryrefslogtreecommitdiff
path: root/manifests/agent.pp
blob: 4a83e34005b57ec32c458840f1306243221cadab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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,
  }
}