From 592c53a5464e87d72b368d01c4deebee9c829540 Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Wed, 12 Oct 2011 13:38:12 +0300 Subject: [PATCH] Restructured syslog module --- syslog/manifests/init.pp | 75 +++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 43 deletions(-) diff --git a/syslog/manifests/init.pp b/syslog/manifests/init.pp index aa024c4..9dcd454 100644 --- a/syslog/manifests/init.pp +++ b/syslog/manifests/init.pp @@ -1,5 +1,4 @@ - -# Install syslog client +# Common syslog configuration # # === Global variables: # @@ -7,13 +6,11 @@ # Syslog type to use. Valid values are syslogd and rsyslog. # Default depends on operating system. # -# $syslog_server: -# Address of remote syslog server where to send logs. +# $syslog_group: +# Group name which has permissions to read logs. Defaults to +# wheel or root depending on operating system. # -# $syslog_tlsserver: -# Address of remote syslog server where to send logs over TCP/TLS. -# -class syslog::client { +class syslog::common { if !$syslog_type { case $operatingsystem { @@ -29,6 +26,30 @@ class syslog::client { } } + if $syslog_group { + $group = $syslog_group + } else { + if $operatingsystem == "OpenBSD" { + $group = "wheel" + } else { + $group = "root" + } + } + +} + +# Install syslog client +# +# === Global variables: +# +# $syslog_server: +# Address of remote syslog server where to send logs. +# +# $syslog_tlsserver: +# Address of remote syslog server where to send logs over TCP/TLS. +# +class syslog::client inherits syslog::common { + case $syslog_type { "syslogd": { include syslog::client::syslogd } "rsyslog": { include syslog::client::rsyslog } @@ -128,42 +149,10 @@ class syslog::client::rsyslog { # # === Global variables: # -# $syslog_type: -# Syslog type to use. Valid values are syslogd and rsyslog. -# Default depends on operating system. -# # $syslog_datadir: # Directory where to store logs. Defaults to /srv/log. # -# $syslog_group: -# Group name which has permissions to read logs. Defaults to -# wheel or root depending on operating system. -# -class syslog::standalone::common { - - if !$syslog_type { - case $operatingsystem { - "centos": { - $syslog_type = $operatingsystemrelease ? { - /^6/ => "rsyslog", - default => "syslogd", - } - } - "fedora": { $syslog_type = "rsyslog" } - "openbsd": { $syslog_type = "syslogd" } - "ubuntu": { $syslog_type = "rsyslog" } - } - } - - if $syslog_group { - $group = $syslog_group - } else { - if $operatingsystem == "OpenBSD" { - $group = "wheel" - } else { - $group = "root" - } - } +class syslog::common::standalone inherits syslog::common { if $syslog_datadir { file { $syslog_datadir: @@ -240,7 +229,7 @@ class syslog::standalone::common { # Install standalone syslog host. # -class syslog::standalone inherits syslog::standalone::common { +class syslog::standalone inherits syslog::common::standalone { case $syslog_type { "syslogd": { include syslog::standalone::syslogd } @@ -282,7 +271,7 @@ class syslog::standalone::rsyslog inherits syslog::client::rsyslog { # Install syslog server. # -class syslog::server inherits syslog::standalone::common { +class syslog::server inherits syslog::common::standalone { case $syslog_type { "syslogd": { fail("Server for \$syslog_type '$syslog_type' not yet supported.") }