module-puppetlabs-apt/manifests/unattended_upgrades.pp
2014-10-13 14:19:11 -07:00

79 righe
2,2 KiB
Puppet

# Class: apt::unattended_upgrades
#
# This class manages the unattended-upgrades package and related configuration
# files for ubuntu
#
# origins are the repositories to automatically upgrade included packages
# blacklist is a list of packages to not automatically upgrade
# update is how often to run "apt-get update" in days
# download is how often to run "apt-get upgrade --download-only" in days
# upgrade is how often to upgrade packages included in the origins list in days
# autoclean is how often to run "apt-get autoclean" in days
#
# information on the other options can be found in the 50unattended-upgrades
# file and in /etc/cron.daily/apt
#
class apt::unattended_upgrades (
$origins = $::apt::params::origins,
$blacklist = [],
$update = '1',
$download = '1',
$upgrade = '1',
$autoclean = '7',
$auto_fix = true,
$minimal_steps = false,
$install_on_shutdown = false,
$mail_to = 'NONE',
$mail_only_on_error = false,
$remove_unused = true,
$auto_reboot = false,
$dl_limit = 'NONE',
$randomsleep = undef,
$enable = '1',
$backup_interval = '0',
$backup_level = '3',
$max_age = '0',
$min_age = '0',
$max_size = '0',
$download_delta = '0',
$verbose = '0',
) inherits ::apt::params {
validate_bool(
$auto_fix,
$minimal_steps,
$install_on_shutdown,
$mail_only_on_error,
$remove_unused,
$auto_reboot
)
validate_array($origins)
if $randomsleep {
unless is_numeric($randomsleep) {
fail('randomsleep must be numeric')
}
}
package { 'unattended-upgrades':
ensure => present,
}
file { '/etc/apt/apt.conf.d/50unattended-upgrades':
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
content => template('apt/50unattended-upgrades.erb'),
require => Package['unattended-upgrades'],
}
file { '/etc/apt/apt.conf.d/10periodic':
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
content => template('apt/10periodic.erb'),
require => Package['unattended-upgrades'],
}
}