From 894667793292570db71c0d43dcc852efac8e49f5 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Sat, 5 Aug 2017 13:02:17 -0700 Subject: new debian stretch target --- roles/debian_stretch/defaults/main.yml | 2 + roles/debian_stretch/tasks/main.yml | 10 +++ .../templates/etc_apt_apt_confd_20auto_upgrades.j2 | 4 + .../etc_apt_apt_confd_50unattended_upgrades.j2 | 94 ++++++++++++++++++++++ .../templates/etc_apt_sources_list.j2 | 15 ++++ 5 files changed, 125 insertions(+) create mode 100644 roles/debian_stretch/defaults/main.yml create mode 100644 roles/debian_stretch/tasks/main.yml create mode 100644 roles/debian_stretch/templates/etc_apt_apt_confd_20auto_upgrades.j2 create mode 100644 roles/debian_stretch/templates/etc_apt_apt_confd_50unattended_upgrades.j2 create mode 100644 roles/debian_stretch/templates/etc_apt_sources_list.j2 diff --git a/roles/debian_stretch/defaults/main.yml b/roles/debian_stretch/defaults/main.yml new file mode 100644 index 0000000..3703452 --- /dev/null +++ b/roles/debian_stretch/defaults/main.yml @@ -0,0 +1,2 @@ + +admin_email: "root" diff --git a/roles/debian_stretch/tasks/main.yml b/roles/debian_stretch/tasks/main.yml new file mode 100644 index 0000000..90b52f1 --- /dev/null +++ b/roles/debian_stretch/tasks/main.yml @@ -0,0 +1,10 @@ + +- name: Configure sources.list for stretch + template: src=etc_apt_sources_list.j2 dest=/etc/apt/sources.list + +- name: Enable automatic upgrades + template: src=etc_apt_apt_confd_20auto_upgrades.j2 dest=/etc/apt/apt.conf.d/20auto-upgrades + +- name: Configure unattended upgrades for stretch + template: src=etc_apt_apt_confd_50unattended_upgrades.j2 dest=/etc/apt/apt.conf.d/50unattended-upgrades + diff --git a/roles/debian_stretch/templates/etc_apt_apt_confd_20auto_upgrades.j2 b/roles/debian_stretch/templates/etc_apt_apt_confd_20auto_upgrades.j2 new file mode 100644 index 0000000..c75a5d7 --- /dev/null +++ b/roles/debian_stretch/templates/etc_apt_apt_confd_20auto_upgrades.j2 @@ -0,0 +1,4 @@ +# {{ ansible_managed }} + +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Unattended-Upgrade "1"; diff --git a/roles/debian_stretch/templates/etc_apt_apt_confd_50unattended_upgrades.j2 b/roles/debian_stretch/templates/etc_apt_apt_confd_50unattended_upgrades.j2 new file mode 100644 index 0000000..a31e1e7 --- /dev/null +++ b/roles/debian_stretch/templates/etc_apt_apt_confd_50unattended_upgrades.j2 @@ -0,0 +1,94 @@ +// Unattended-Upgrade::Origins-Pattern controls which packages are +// upgraded. +// +// {{ ansible_managed }} +// +// Lines below have the format format is "keyword=value,...". A +// package will be upgraded only if the values in its metadata match +// all the supplied keywords in a line. (In other words, omitted +// keywords are wild cards.) The keywords originate from the Release +// file, but several aliases are accepted. The accepted keywords are: +// a,archive,suite (eg, "stable") +// c,component (eg, "main", "crontrib", "non-free") +// l,label (eg, "Debian", "Debian-Security") +// o,origin (eg, "Debian", "Unofficial Multimedia Packages") +// n,codename (eg, "stretch", "stretch-updates") +// site (eg, "http.debian.net") +// The available values on the system are printed by the command +// "apt-cache policy", and can be debugged by running +// "unattended-upgrades -d" and looking at the log file. +// +// Within lines unattended-upgrades allows 2 macros whose values are +// derived from /etc/debian_version: +// ${distro_id} Installed origin. +// ${distro_codename} Installed codename (eg, "stretch") +Unattended-Upgrade::Origins-Pattern { + // Codename based matching: + // This will follow the migration of a release through different + // archives (e.g. from testing to stable and later oldstable). + "o=Debian,n=stretch"; + "o=Debian,n=stretch-updates"; +// "o=Debian,n=stretch-proposed-updates"; + "o=Debian,n=stretch,l=Debian-Security"; + + // Archive or Suite based matching: + // Note that this will silently match a different release after + // migration to the specified archive (e.g. testing becomes the + // new stable). +// "o=Debian,a=stable"; +// "o=Debian,a=stable-updates"; +// "o=Debian,a=proposed-updates"; + "origin=Debian,codename=${distro_codename},label=Debian-Security"; +}; + +// List of packages to not update (regexp are supported) +Unattended-Upgrade::Package-Blacklist { + "vim"; + "libc6"; + "libc6-dev"; + "libc6-i686"; +}; + +// This option allows you to control if on a unclean dpkg exit +// unattended-upgrades will automatically run +// dpkg --force-confold --configure -a +// The default is true, to ensure updates keep getting installed +//Unattended-Upgrade::AutoFixInterruptedDpkg "false"; + +// Split the upgrade into the smallest possible chunks so that +// they can be interrupted with SIGUSR1. This makes the upgrade +// a bit slower but it has the benefit that shutdown while a upgrade +// is running is possible (with a small delay) +Unattended-Upgrade::MinimalSteps "true"; + +// Install all unattended-upgrades when the machine is shuting down +// instead of doing it in the background while the machine is running +// This will (obviously) make shutdown slower +//Unattended-Upgrade::InstallOnShutdown "true"; + +// Send email to this address for problems or packages upgrades +// If empty or unset then no email is sent, make sure that you +// have a working mail setup on your system. A package that provides +// 'mailx' must be installed. E.g. "user@example.com" +Unattended-Upgrade::Mail "{{ admin_email }}"; + +// Set this value to "true" to get emails only on errors. Default +// is to always send a mail if Unattended-Upgrade::Mail is set +Unattended-Upgrade::MailOnlyOnError "true"; + +// Do automatic removal of new unused dependencies after the upgrade +// (equivalent to apt-get autoremove) +//Unattended-Upgrade::Remove-Unused-Dependencies "false"; + +// Automatically reboot *WITHOUT CONFIRMATION* if +// the file /var/run/reboot-required is found after the upgrade +Unattended-Upgrade::Automatic-Reboot "false"; + +// If automatic reboot is enabled and needed, reboot at the specific +// time instead of immediately +// Default: "now" +//Unattended-Upgrade::Automatic-Reboot-Time "02:00"; + +// Use apt bandwidth limit feature, this example limits the download +// speed to 70kb/sec +//Acquire::http::Dl-Limit "70"; diff --git a/roles/debian_stretch/templates/etc_apt_sources_list.j2 b/roles/debian_stretch/templates/etc_apt_sources_list.j2 new file mode 100644 index 0000000..2552d1c --- /dev/null +++ b/roles/debian_stretch/templates/etc_apt_sources_list.j2 @@ -0,0 +1,15 @@ +# {{ ansible_managed }} + +deb http://http.debian.net/debian/ stretch main +deb-src http://http.debian.net/debian/ stretch main + +deb http://security.debian.org/ stretch/updates main +deb-src http://security.debian.org/ stretch/updates main + +# stretch-updates, previously known as 'volatile' +deb http://http.debian.net/debian/ stretch-updates main +deb-src http://http.debian.net/debian/ stretch-updates main + +# stretch-backports, previously on backports.debian.org +deb http://http.debian.net/debian/ stretch-backports main +deb-src http://http.debian.net/debian/ stretch-backports main -- cgit v1.2.3