Gehel has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/342228 )
Change subject: logrotate - introduce a generic logrotate template
......................................................................
logrotate - introduce a generic logrotate template
We seem to have a lot of logrotate templates, most of which are fairly
similar. We already have a logrotate module with a very basic defined
type which manages the creation of the logrotate configuration files
but not their content. It seems natural to extend this module to
provide a default template.
The approach taken here is to provide a set of parameters to configure
logrotate, but not to provide an open ended hash of parameters. This
makes the parameters more discoverable and ensures some validity
checking.
Change-Id: I4592f57f9d1c9a9be3ffcb0b3dff4b9ffa4fa38f
---
A modules/logrotate/manifests/rule.pp
A modules/logrotate/templates/logrotate.erb
2 files changed, 76 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/28/342228/1
diff --git a/modules/logrotate/manifests/rule.pp
b/modules/logrotate/manifests/rule.pp
new file mode 100644
index 0000000..3c4a463
--- /dev/null
+++ b/modules/logrotate/manifests/rule.pp
@@ -0,0 +1,29 @@
+# === Define logrotate::rule
+#
+# Provides a common template that can be used by different applications to
+# configure log rotation.
+#
+# The parameter of this class map directly to the corresponding logrotate
+# options.
+define logrotate::rule (
+ $ensure = present,
+ $file_pattern = undef,
+ $not_if_empty = false,
+ $daily = false,
+ $date_yesterday = false,
+ $copy_truncate = false,
+ $max_age = undef,
+ $rotate = undef,
+ $date_ext = false,
+ $compress = false,
+ $delay_compress = false,
+ $missing_ok = false,
+ $size = undef,
+ $no_create = false,
+ $post_rotate = undef,
+) {
+ logrotate::conf { $title:
+ ensure => $ensure,
+ content => template('logrotate/logrotate.erb'),
+ }
+}
diff --git a/modules/logrotate/templates/logrotate.erb
b/modules/logrotate/templates/logrotate.erb
new file mode 100644
index 0000000..29d9f46
--- /dev/null
+++ b/modules/logrotate/templates/logrotate.erb
@@ -0,0 +1,47 @@
+# This file is managed by Puppet.
+# puppet:///logrotate/logrotate.erb
+
+<%= @file_pattern %> {
+<% if @not_if_empty -%>
+ notifempty
+<% end -%>
+<% if @daily -%>
+ daily
+<% end -%>
+<% if @date_yesterday -%>
+ dateyesterday
+<% end -%>
+<% if @copy_truncate -%>
+ copytruncate
+<% end -%>
+<% if @max_age -%>
+ maxage <%= @max_age %>
+<% end -%>
+<% if @rotate -%>
+ rotate <%= @rotate %>
+<% end -%>
+<% if @date_ext -%>
+ dateext
+<% end -%>
+<% if @compress -%>
+ compress
+<% end -%>
+<% if @delay_compress -%>
+ delaycompress
+<% end -%>
+<% if @missing_ok -%>
+ missingok
+<% end -%>
+<% if @size -%>
+ size <%= @size %>
+<% end -%>
+<% if @no_create -%>
+ nocreate
+<% end -%>
+<% if @post_rotate -%>
+ sharedscripts
+ postrotate
+ <%= @post_rotate %>
+ endscript
+<% end -%>
+}
--
To view, visit https://gerrit.wikimedia.org/r/342228
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4592f57f9d1c9a9be3ffcb0b3dff4b9ffa4fa38f
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Gehel <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits