Puppet Class: rsyslog::base

Defined in:
manifests/base.pp

Summary

This class manages the base installation for rsyslog

Overview



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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'manifests/base.pp', line 2

class rsyslog::base {
  if $rsyslog::use_upstream_repo {
    case $facts['os']['family'] {
      'Debian': {
        if $facts['os']['name'] == 'Ubuntu' {
          include apt
          apt::ppa { 'ppa:adiscon/v8-stable': }
        }
      }
      'RedHat': {
        yumrepo { 'upstream_rsyslog':
          ensure   => 'present',
          descr    => 'Adiscon Enterprise Linux rsyslog',
          baseurl  => 'http://rpms.adiscon.com/v8-stable/epel-$releasever/$basearch',
          enabled  => '1',
          gpgcheck => '0',
          gpgkey   => 'http://rpms.adiscon.com/v8-stable/epel-$releasever/$basearch',
        }
      }
      default: { fail("${facts['os']['name']} is not current supported by upstream packages.") }
    }
  }

  if $rsyslog::manage_package {
    package { $rsyslog::package_name:
      ensure => $rsyslog::package_version,
    }
  }

  if $rsyslog::feature_packages {
    package { $rsyslog::feature_packages:
      ensure  => installed,
      require => Package[$rsyslog::package_name],
    }
  }

  if $rsyslog::manage_confdir {
    file { $rsyslog::confdir:
      ensure  => directory,
      owner   => 'root',
      group   => 'root',
      mode    => $rsyslog::confdir_permissions,
      purge   => $rsyslog::purge_config_files,
      recurse => $rsyslog::purge_config_files,
    }

    if $rsyslog::manage_package {
      Package[$rsyslog::package_name] -> File[$rsyslog::confdir]
    }
  }

  if $rsyslog::override_default_config {
    $message = @(EOT)
      # This file is managed by Puppet.  No configuration is placed here
      # all configuration is under the rsyslog.d directory
      |EOT

    file { $rsyslog::config_file:
      ensure  => file,
      content => "${message}\n\$IncludeConfig ${rsyslog::confdir}/*.conf\n",
      mode    => $rsyslog::global_conf_perms,
    }

    if $rsyslog::manage_package {
      Package[$rsyslog::package_name] -> File[$rsyslog::config_file]
    }
  }

  if $rsyslog::manage_service {
    service { $rsyslog::service_name:
      ensure => $rsyslog::service_status,
      enable => $rsyslog::service_enabled,
    }

    if $rsyslog::manage_confdir {
      File[$rsyslog::confdir] ~> Service[$rsyslog::service_name]
    }
  }
}