diff --git a/site-modules/profile/manifests/swh/deploy/webapp.pp b/site-modules/profile/manifests/swh/deploy/webapp.pp --- a/site-modules/profile/manifests/swh/deploy/webapp.pp +++ b/site-modules/profile/manifests/swh/deploy/webapp.pp @@ -51,6 +51,8 @@ auth_require => 'valid-user', } } + $logfile = "${conf_log_dir}/swh-web.log" + $pidfile = "/var/run/gunicorn/swh-webapp/pidfile" # Install the necessary deps ::profile::swh::deploy::install_web_deps { 'swh-web': @@ -75,13 +77,27 @@ mode => '0770', } - file {"${conf_log_dir}/swh-web.log": + file {$logfile: ensure => present, owner => $user, group => $group, mode => '0770', } + # Template uses: + # $logfile + # $user + # $group + # $pidfile + file {'/etc/logrotate.d/swh-webapp': + ensure => file, + owner => $user, + group => $group, + mode => '0644', + content => template('profile/swh/logrotate-webapp.conf.erb'), + require => File[$logfile], + } + file {$vhost_docroot: ensure => directory, owner => 'root', diff --git a/site-modules/profile/templates/swh/logrotate-webapp.conf.erb b/site-modules/profile/templates/swh/logrotate-webapp.conf.erb new file mode 100644 --- /dev/null +++ b/site-modules/profile/templates/swh/logrotate-webapp.conf.erb @@ -0,0 +1,14 @@ +# Software Heritage logrotate configuration +# Managed by puppet. Changes will be overwritten. + +<%= @logfile %> { + weekly + missingok + rotate 5 + compress + notifempty + su <%= @user %> <%= @group %> + postrotate + kill -USR1 $(cat <%= @pidfile %>) + endscript +}