unattended_upgrades.pp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Class: apt::unattended_upgrades
  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 = $::apt::params::origins,
  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. ) inherits ::apt::params {
  40. validate_bool(
  41. $auto_fix,
  42. $minimal_steps,
  43. $install_on_shutdown,
  44. $mail_only_on_error,
  45. $remove_unused,
  46. $auto_reboot
  47. )
  48. validate_array($origins)
  49. package { 'unattended-upgrades':
  50. ensure => present,
  51. }
  52. file { '/etc/apt/apt.conf.d/50unattended-upgrades':
  53. ensure => file,
  54. owner => 'root',
  55. group => 'root',
  56. mode => '0644',
  57. content => template('apt/50unattended-upgrades.erb'),
  58. require => Package['unattended-upgrades'],
  59. }
  60. file { '/etc/apt/apt.conf.d/10periodic':
  61. ensure => file,
  62. owner => 'root',
  63. group => 'root',
  64. mode => '0644',
  65. content => template('apt/10periodic.erb'),
  66. require => Package['unattended-upgrades'],
  67. }
  68. }