summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteffen Zieger <me@saz.sh>2014-08-15 11:12:59 +0200
committerSteffen Zieger <me@saz.sh>2014-08-15 11:12:59 +0200
commite2130b3f62240fb42103b9e07fb5acd0736fc44a (patch)
treed2597b73fd88eac488f4f05d4326547e5b0c43ea
parent5c4b129eda064d5cfec7edcb320ef769bc302345 (diff)
parent88a64597732e5e4aac20597bd492b2cfdf412b85 (diff)
Merge pull request #99 from jae2/jed2
Allow option to avoid loading imfile module twice.
-rw-r--r--manifests/imfile.pp4
-rw-r--r--manifests/init.pp7
-rw-r--r--manifests/modload.pp17
-rw-r--r--manifests/params.pp9
-rw-r--r--templates/imfile.erb3
-rw-r--r--templates/modload.erb3
6 files changed, 40 insertions, 3 deletions
diff --git a/manifests/imfile.pp b/manifests/imfile.pp
index 28665f8..bd0afa3 100644
--- a/manifests/imfile.pp
+++ b/manifests/imfile.pp
@@ -29,10 +29,12 @@ define rsyslog::imfile(
$polling_interval = 10,
$file_severity = 'notice',
$run_file_monitor = true,
- $persist_state_interval = 0
+ $persist_state_interval = 0,
) {
+
include rsyslog
+ $extra_modules = $rsyslog::extra_modules
file { "${rsyslog::rsyslog_d}${name}.conf":
ensure => file,
diff --git a/manifests/init.pp b/manifests/init.pp
index 0c57a84..aad06d5 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -38,9 +38,14 @@ class rsyslog (
$ssl = $rsyslog::params::ssl,
$modules = $rsyslog::params::modules,
$preserve_fqdn = $rsyslog::params::preserve_fqdn,
- $max_message_size = $rsyslog::params::max_message_size
+ $max_message_size = $rsyslog::params::max_message_size,
+ $extra_modules = $rsyslog::params::extra_modules
) inherits rsyslog::params {
class { 'rsyslog::install': }
class { 'rsyslog::config': }
+ if $extra_modules != [] {
+ class { 'rsyslog::modload': }
+ }
class { 'rsyslog::service': }
+
}
diff --git a/manifests/modload.pp b/manifests/modload.pp
new file mode 100644
index 0000000..8022cf0
--- /dev/null
+++ b/manifests/modload.pp
@@ -0,0 +1,17 @@
+# == Class: rsyslog::modload
+#
+
+class rsyslog::modload (
+ $modload_filename = '10-modload.conf',
+)
+ {
+ file { "${rsyslog::rsyslog_d}$modload_filename":
+ ensure => file,
+ owner => 'root',
+ group => $rsyslog::run_group,
+ content => template('rsyslog/modload.erb'),
+ require => Class['rsyslog::install'],
+ notify => Class['rsyslog::service'],
+ }
+ }
+
diff --git a/manifests/params.pp b/manifests/params.pp
index 904148c..0a03d07 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -47,6 +47,8 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
+
}
redhat: {
if $::operatingsystem == 'Amazon' {
@@ -121,6 +123,7 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
}
suse: {
$rsyslog_package_name = 'rsyslog'
@@ -148,7 +151,8 @@ class rsyslog::params {
'$ModLoad imklog # provides kernel logging support (previously done by rklogd)',
'#$ModLoad immark # provides --MARK-- message capability',
]
- }
+ $extra_modules = []
+ }
freebsd: {
$rsyslog_package_name = 'sysutils/rsyslog5'
$relp_package_name = 'sysutils/rsyslog5-relp'
@@ -181,6 +185,7 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
}
default: {
@@ -217,6 +222,8 @@ class rsyslog::params {
$preserve_fqdn = false
$service_hasrestart = true
$service_hasstatus = true
+ $extra_modules = []
+
}
default: {
fail("The ${module_name} module is not supported on ${::osfamily}/${::operatingsystem}.")
diff --git a/templates/imfile.erb b/templates/imfile.erb
index 8b24edb..4a11c72 100644
--- a/templates/imfile.erb
+++ b/templates/imfile.erb
@@ -1,4 +1,7 @@
+<% if @extra_modules.empty?() or !@extra_modules.include?('imfile') -%>
$ModLoad imfile
+<% end -%>
+
$InputFileName <%= @file_name %>
$InputFileTag <%= @file_tag %>
diff --git a/templates/modload.erb b/templates/modload.erb
new file mode 100644
index 0000000..a14a612
--- /dev/null
+++ b/templates/modload.erb
@@ -0,0 +1,3 @@
+<% @extra_modules.each do |mod| -%>
+$ModLoad <%= mod %>
+<% end -%>