############################################################################## # Create rsyslog.conf ############################################################################## # # This define is used by the base::syslog module. It is not execpted # to be used directly, but the actions of base::syslog overridden as # needed. # # The use_ variables allow for the following transitions. # # 1. From an rsyslog configuration that pulls in an old syslog.conf # to a configuration that is all rsyslog and uses rsyslog # fragments. # # 2. From v5 to v7 of rsyslog. To use the default v7 configuration # the syslog.conf transition must be complete. # # Example: # # This example uses the default rsyslog version 7 configuration. # # class s_ldap::conf::syslog-dev inherits base::syslog { # Base::Syslog::Config::Rsyslog['/etc/rsyslog.conf'] { # use_syslog_conf => false, # use_v5 => false, # } # } define base::syslog::config::rsyslog( $ensure = 'present', $source = undef, $owner = 'root', $group = 'root', $mode = '0644', $replace = true, $use_syslog_conf = true, $use_default = true, $use_v5 = true, ) { if !$use_syslog_conf { if use_v5 { $rsyslog_tmpl = 'etc/rsyslog.d/20-templates-v5.conf' $rsyslog_def = 'etc/rsyslog.d/95-default-v5.conf.erb' } else { $rsyslog_tmpl = 'etc/rsyslog.d/20-templates.conf' $rsyslog_def = 'etc/rsyslog.d/95-default.conf.erb' } if $use_default { file { '/etc/rsyslog.d/20-templates.conf': ensure => present, source => "puppet:///modules/base/syslog/$rsyslog_tmpl", owner => $owner, group => $group, mode => $mode, notify => Service['syslog']; '/etc/rsyslog.d/95-default.conf': ensure => present, content => template("base/syslog/$rsyslog_def"), owner => $owner, group => $group, mode => $mode, notify => Service['syslog']; } } else { file { '/etc/rsyslog.d/20-templates.conf': ensure => absent, notify => Service['syslog']; '/etc/rsyslog.d/95-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'], } }