Add logrotate class to Apache

Adding this subclass to httpd configuration, to allow
modules using this manifest to setup log rotation for
apache on demand.
Please note that apache is installing a logrotate file by
default here, but naming that on same way will overwrite it,
and allow our desired log rotation.

Depends-On: I7451ecc550b50b85c55784ef598f6b45412117fc
Change-Id: I3ef60fd9386795007e5b55264cc6e91fa0b67c68
This commit is contained in:
Yolanda Robla 2015-07-28 17:05:16 +02:00
parent 6559655964
commit 208feadbcd
1 changed files with 39 additions and 0 deletions

39
manifests/logrotate.pp Normal file
View File

@ -0,0 +1,39 @@
# == Class: httpd::logrotate
#
class httpd::logrotate (
$options = [
'daily',
'missingok',
'rotate 30',
'compress',
'delaycompress',
'notifempty',
'create 640 root adm',
],
$prerotate = [
"if [ -d /etc/logrotate.d/${::httpd::params::apache_name}-prerotate ]; then \\",
" run-parts /etc/logrotate.d/${::httpd::params::apache_name}-prerotate; \\",
'fi; \\',
],
$postrotate = [
"if service ${::httpd::params::apache_name} status > /dev/null ; then \\",
" service ${::httpd::params::apache_name} reload > /dev/null; \\",
'fi; \\',
],
$firstaction = 'undef',
$lastaction = 'undef',
) inherits httpd::params {
include ::logrotate
$apache_logdir = "/var/log/${::httpd::params::apache_name}"
$logrotate_name = $::httpd::params::apache_name
::logrotate::file { $logrotate_name:
log => "${apache_logdir}/*.log",
options => $options,
prerotate => $prerotate,
postrotate => $postrotate,
firstaction => $firstaction,
lastaction => $lastaction,
}
}