diff --git a/puppet/manifests/init.pp b/puppet/manifests/init.pp index 815f3b2..6eab232 100644 --- a/puppet/manifests/init.pp +++ b/puppet/manifests/init.pp @@ -110,6 +110,9 @@ class puppet::manual inherits puppet::client { # Store config type to use. Valid values are "thin", "full" and "none". # Defaults to "thin". # +# $puppet_report_maxage: +# Maximum age (in hours) to keep reports. Defaults to 720 hours (30 days). +# class puppet::server inherits puppet::client { if ! $puppet_listenports { @@ -245,4 +248,16 @@ class puppet::server inherits puppet::client { notify => Service["puppetmaster"], } + if !$puppet_report_maxage { + $puppet_report_maxage = "720" + } + file { "/etc/cron.daily/puppet-report-cleanup": + ensure => present, + content => template("puppet/puppet-report-cleanup.erb"), + mode => 0755, + owner => root, + group => root, + require => File["/srv/puppet/reports"], + } + } diff --git a/puppet/templates/puppet-report-cleanup.erb b/puppet/templates/puppet-report-cleanup.erb new file mode 100755 index 0000000..81957e9 --- /dev/null +++ b/puppet/templates/puppet-report-cleanup.erb @@ -0,0 +1,5 @@ +#!/bin/sh + +MAXAGE=<%= puppet_report_maxage %> + +/usr/sbin/tmpwatch -m ${MAXAGE} /srv/puppet/reports