Added class for managing unattended-upgrades
[puppet-modules/puppetlabs-apt.git] / manifests / unattended-upgrades.pp
1 # unattended-upgrades.pp
2
3 # This class manages the unattended-upgrades package and related configuration
4 # files for ubuntu
5
6 # origins are the repositories to automatically upgrade included packages
7 # blacklist is a list of packages to not automatically upgrade
8 # update is how often to run "apt-get update" in days
9 # download is how often to run "apt-get upgrade --download-only" in days
10 # upgrade is how often to upgrade packages included in the origins list in days
11 # autoclean is how often to run "apt-get autoclean" in days
12
13 # information on the other options can be found in the 50unattended-upgrades
14 # file and in /etc/cron.daily/apt
15
16 class apt::unattended-upgrades (
17   $origins = ['${distro_id}:${distro_codename}-security'],
18   $blacklist = [],
19   $update = "1",
20   $download = "1",
21   $upgrade = "1",
22   $autoclean = "7",
23   $auto_fix = "true",
24   $minimal_steps = "false",
25   $install_on_shutdown = "false",
26   $mail_to = "NONE",
27   $mail_only_on_error = "false",
28   $remove_unused = "true",
29   $auto_reboot = "false",
30   $dl_limit = "NONE",
31   $enable = "1",
32   $backup_interval = "0",
33   $backup_level = "3",
34   $max_age = "0",
35   $min_age = "0",
36   $max_size = "0",
37   $download_delta = "0",
38   $verbose = "0",
39 ) {
40
41   package { 'unattended-upgrades':
42     ensure => present,
43   }
44
45   File {
46     ensure  => file,
47     owner   => 'root',
48     group   => 'root',
49     mode    => '0644',
50   }
51
52   file {
53     '/etc/apt/apt.conf.d/50unattended-upgrades':
54       content => template('apt/50unattended-upgrades.erb');
55     '/etc/apt/apt.conf.d/10periodic':
56       content => template('apt/10periodic.erb');
57   }
58 }