diff --git a/files/syslog/etc/rsyslog.d/90-local.conf b/files/syslog/etc/rsyslog.d/90-local-default.conf similarity index 100% rename from files/syslog/etc/rsyslog.d/90-local.conf rename to files/syslog/etc/rsyslog.d/90-local-default.conf diff --git a/manifests/syslog.pp b/manifests/syslog.pp index 7d724ec0afe0349774d4678c698a0d05c8be7686..ae1eaf4c178bceb9da5dacedb08525b3662f2fde 100644 --- a/manifests/syslog.pp +++ b/manifests/syslog.pp @@ -1,3 +1,21 @@ +############################################################################## +# Base syslog support +############################################################################## +# +# This module uses rsyslog where possible otherwise syslog is used. +# +# The default rsyslog support preserves the use of /etc/syslog.conf. +# The two most common overrides to this function are to not use +# /etc/syslog.conf configuration and to not use the default configuration +# that writes to /var/log/messages. For example: +# +# class s_ldap::conf::syslog-dev inherits base::syslog { +# Base::Syslog::Config::Rsyslog['/etc/rsyslog.conf'] { +# use_syslog_conf => false, +# use_default => false, +# } +# } +# # # Notes: # * the newsyslog service is responsible for ensuring the file permissions diff --git a/manifests/syslog/config/rsyslog.pp b/manifests/syslog/config/rsyslog.pp index 6ef9564d50bd31fce51d7d49bc7b1f49782dda27..4ba695e2ddacceeb15f0cf08c862db1b2c01322d 100644 --- a/manifests/syslog/config/rsyslog.pp +++ b/manifests/syslog/config/rsyslog.pp @@ -1,22 +1,35 @@ -# create rsyslog.conf +############################################################################## +# 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, + $ensure = 'present', + $source = undef, + $owner = 'root', + $group = 'root', + $mode = '0644', + $replace = true, + $use_syslog_conf = true, + $use_default = true, ) { - if !$use_syslog_conf { - file {'/etc/rsyslog.d/90-local.conf': - ensure => present, - source => 'puppet:///modules/base/syslog/etc/rsyslog.d/90-local.conf', - owner => $owner, - group => $group, - mode => $mode; + 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'], + } } } diff --git a/manifests/syslog/fragment.pp b/manifests/syslog/fragment.pp index c2defead38aaca36149df4474454f5eff0bba631..d71f4616ca82701af2a9c49cd77ca0c8c366cdbd 100644 --- a/manifests/syslog/fragment.pp +++ b/manifests/syslog/fragment.pp @@ -21,7 +21,7 @@ # ensure => present; # '95-local.conf': # ensure => present, -# source => 'puppet:///modules/s_audit/etc/rsyslog.d/95-local.conf', +# source => 'puppet:///modules/s_audit/etc/rsyslog.d/95-local.conf'; # } define base::syslog::fragment(