Skip to content
Snippets Groups Projects
rsyslog.pp 1.36 KiB
##############################################################################
# Create rsyslog.conf
##############################################################################
#
# This define is used by the base::syslog module.

define base::syslog::config::rsyslog(
  $ensure          = 'present',
  $source          = undef,
  $owner           = 'root',
  $group           = 'root',
  $mode            = '0644',
  $replace         = true,
  $use_syslog_conf = true,
  $use_default     = true,
) {

  if !$use_syslog_conf and $use_default {
    if $use_default {
      file {'/etc/rsyslog.d/90-local-default.conf':
        ensure  => present,
        source  => 'puppet:///modules/base/syslog/etc/rsyslog.d/90-local-default.conf',
        owner   => $owner,
        group   => $group,
        mode    => $mode,
        notify  => Service['syslog'],
      }
    } else {
      file {'/etc/rsyslog.d/90-local-default.conf':
        ensure  => absent,
        notify  => Service['syslog'],
      }
    }
  }

  # Template for the base rsyslog configuration.
  if $source {
    $template = undef
  } else {
    $template = template('base/syslog/rsyslog.conf.erb')
  }
  file { $name:
    ensure  => $ensure,
    source  => $source,
    content => $template,
    owner   => $owner,
    group   => $group,
    mode    => $mode,
    replace => $replace,
    notify  => Service['syslog'],
  }
}