Add role for unattended-upgrades
This commit is contained in:
		
							
								
								
									
										96
									
								
								roles/unattended-upgrades/defaults/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								roles/unattended-upgrades/defaults/main.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,96 @@ | |||||||
|  | --- | ||||||
|  | unattended_upgrades_mailto: root | ||||||
|  |  | ||||||
|  | unattended_upgrades_package_name: unattended-upgrades | ||||||
|  | unattended_upgrades_package_state: present | ||||||
|  |  | ||||||
|  | unattended_upgrades_apticron_package_name: apticron | ||||||
|  | unattended_upgrades_apticron_package_state: present | ||||||
|  | unattended_upgrades_apticron_email: "{{ unattended_upgrades_mailto }}" | ||||||
|  |  | ||||||
|  | unattended_upgrades_update_package_lists: true | ||||||
|  | unattended_upgrades_download_upgradable_packages: true | ||||||
|  | unattended_upgrades_autoclean_interval: 7 | ||||||
|  | unattended_upgrades_unattended_upgrade: true | ||||||
|  |  | ||||||
|  | # Automatically upgrade packages from these (origin:archive) pairs | ||||||
|  | # | ||||||
|  | # Note that in Ubuntu security updates may pull in new dependencies | ||||||
|  | # from non-security sources (e.g. chromium). By allowing the release | ||||||
|  | # pocket these get automatically pulled in. | ||||||
|  | unattended_upgrades_allowed_origins: | ||||||
|  |   - "${distro_id}:${distro_codename}" | ||||||
|  |   - "${distro_id}:${distro_codename}-security" | ||||||
|  |   - "${distro_id}ESM:${distro_codename}" | ||||||
|  |   # - "${distro_id}:${distro_codename}-updates" | ||||||
|  |   # - "${distro_id}:${distro_codename}-proposed" | ||||||
|  |   # - "${distro_id}:${distro_codename}-backports" | ||||||
|  |  | ||||||
|  | # List of packages to not update (regexp are supported) | ||||||
|  | # unattended_upgrades_package_blacklist: [] | ||||||
|  |  | ||||||
|  | # This option will controls whether the development release of Ubuntu will be | ||||||
|  | # upgraded automatically. | ||||||
|  | unattended_upgrades_dev_release: false | ||||||
|  |  | ||||||
|  | # 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_upgrades_auto_fix_interrupted_dpkg: false | ||||||
|  |  | ||||||
|  | # Split the upgrade into the smallest possible chunks so that | ||||||
|  | # they can be interrupted with SIGTERM. 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_upgrades_minimal_steps: false | ||||||
|  |  | ||||||
|  | # Install all unattended-upgrades when the machine is shutting down | ||||||
|  | # instead of doing it in the background while the machine is running | ||||||
|  | # This will (obviously) make shutdown slower | ||||||
|  | # unattended_upgrades_install_on_shutdown: 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_upgrades_mail: "{{ unattended_upgrades_mailto }}" | ||||||
|  |  | ||||||
|  | # 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_upgrades_mail_only_on_error: true | ||||||
|  |  | ||||||
|  | # Remove unused automatically installed kernel-related packages | ||||||
|  | # (kernel images, kernel headers and kernel version locked tools). | ||||||
|  | # unattended_upgrades_remove_unused_kernel_packages: false | ||||||
|  |  | ||||||
|  | # Do automatic removal of new unused dependencies after the upgrade | ||||||
|  | # (equivalent to apt-get autoremove) | ||||||
|  | # unattended_upgrades_removed_unused_dependencies: false | ||||||
|  |  | ||||||
|  | # Automatically reboot *WITHOUT CONFIRMATION* | ||||||
|  | #  if the file /var/run/reboot-required is found after the upgrade | ||||||
|  | # unattended_upgrades_automatic_reboot: false | ||||||
|  |  | ||||||
|  | # If automatic reboot is enabled and needed, reboot at the specific | ||||||
|  | # time instead of immediately | ||||||
|  | #  Default: "now" | ||||||
|  | # unattended_upgrades_automatic_reboot_time: '02:00' | ||||||
|  |  | ||||||
|  | # Use apt bandwidth limit feature, this example limits the download | ||||||
|  | # speed to 70kb/sec | ||||||
|  | # unattended_upgrades_download_limit: 70 | ||||||
|  |  | ||||||
|  | #  Enable logging to syslog. Default is False | ||||||
|  | # unattended_upgrades_syslog_enable: false | ||||||
|  |  | ||||||
|  | # Specify syslog facility. Default is daemon | ||||||
|  | # unattended_upgrades_syslog_facility: daemon | ||||||
|  |  | ||||||
|  | # Download and install upgrades only on AC power | ||||||
|  | # (i.e. skip or gracefully stop updates on battery) | ||||||
|  | # unattended_upgrades_only_on_ac_power: true | ||||||
|  |  | ||||||
|  | # Download and install upgrades only on non-metered connection | ||||||
|  | # (i.e. skip or gracefully stop updates on a metered connection) | ||||||
|  | # unattended_upgrades_skip_updates_on_metered_connections: true | ||||||
							
								
								
									
										32
									
								
								roles/unattended-upgrades/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								roles/unattended-upgrades/tasks/main.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | --- | ||||||
|  | - name: install unattended-upgrades | ||||||
|  |   package: | ||||||
|  |     name: "{{ unattended_upgrades_package_name }}" | ||||||
|  |     state: "{{ unattended_upgrades_package_state }}" | ||||||
|  |  | ||||||
|  | - name: install apticron | ||||||
|  |   package: | ||||||
|  |     name: "{{ unattended_upgrades_apticron_package_name }}" | ||||||
|  |     state: "{{ unattended_upgrades_apticron_package_state }}" | ||||||
|  |  | ||||||
|  | - name: configure unattended-upgrades | ||||||
|  |   template: | ||||||
|  |     src: unattended-upgrades.j2 | ||||||
|  |     dest: /etc/apt/apt.conf.d/50unattended-upgrades | ||||||
|  |  | ||||||
|  | - name: configure auto-upgrades | ||||||
|  |   template: | ||||||
|  |     src: auto-upgrades.j2 | ||||||
|  |     dest: /etc/apt/apt.conf.d/20auto-upgrades | ||||||
|  |  | ||||||
|  | - name: configure apticron | ||||||
|  |   template: | ||||||
|  |     src: apticron.conf.j2 | ||||||
|  |     dest: /etc/apticron/apticron.conf | ||||||
|  |   when: unattended_upgrades_apticron_package_state == 'present' | ||||||
|  |  | ||||||
|  | - name: manage apticron.conf | ||||||
|  |   file: | ||||||
|  |     path: /etc/apticron/apticron.conf | ||||||
|  |     state: absent | ||||||
|  |   when: unattended_upgrades_apticron_package_state == 'absent' | ||||||
							
								
								
									
										5
									
								
								roles/unattended-upgrades/templates/apticron.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								roles/unattended-upgrades/templates/apticron.conf.j2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | # {{ ansible_managed }} | ||||||
|  |  | ||||||
|  | {% if unattended_upgrades_apticron_email is defined %} | ||||||
|  | EMAIL="{{ unattended_upgrades_apticron_email }}" | ||||||
|  | {% endif %} | ||||||
							
								
								
									
										14
									
								
								roles/unattended-upgrades/templates/auto-upgrades.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								roles/unattended-upgrades/templates/auto-upgrades.j2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | // {{ ansible_managed }} | ||||||
|  |  | ||||||
|  | {% if unattended_upgrades_update_package_lists %} | ||||||
|  | APT::Periodic::Update-Package-Lists "1"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_download_upgradable_packages %} | ||||||
|  | APT::Periodic::Download-Upgradeable-Packages "1"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_autoclean_interval %} | ||||||
|  | APT::Periodic::AutocleanInterval "{{ unattended_upgrades_autoclean_interval }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_unattended_upgrade %} | ||||||
|  | APT::Periodic::Unattended-Upgrade "1"; | ||||||
|  | {% endif %} | ||||||
							
								
								
									
										61
									
								
								roles/unattended-upgrades/templates/unattended-upgrades.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								roles/unattended-upgrades/templates/unattended-upgrades.j2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | // {{ ansible_managed }} | ||||||
|  |  | ||||||
|  | {% if unattended_upgrades_allowed_origins is defined %} | ||||||
|  | Unattended-Upgrade::Allowed-Origins { | ||||||
|  | {% for origin in unattended_upgrades_allowed_origins %} | ||||||
|  |   "{{ origin }}"; | ||||||
|  | {% endfor -%}  | ||||||
|  | }; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_package_blacklist is defined %} | ||||||
|  | Unattended-Upgrade::Package-Blacklist { | ||||||
|  | {% for package in unattended_upgrades_package_blacklist %} | ||||||
|  |   "{{ package }}"; | ||||||
|  | {% endfor -%}  | ||||||
|  | }; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_dev_release is defined %} | ||||||
|  | Unattended-Upgrade::DevRelease "{{ unattended_upgrades_dev_release | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_auto_fix_interrupted_dpkg is defined %} | ||||||
|  | Unattended-Upgrade::AutoFixInterruptedDpkg "{{ unattended_upgrades_auto_fix_interrupted_dpkg }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_minimal_steps is defined %} | ||||||
|  | Unattended-Upgrade::MinimalSteps "{{ unattended_upgrades_minimal_steps | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_install_on_shutdown is defined %} | ||||||
|  | Unattended-Upgrade::InstallOnShutdown "{{ unattended_upgrades_install_on_shutdown | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_mail is defined %} | ||||||
|  | Unattended-Upgrade::Mail "{{ unattended_upgrades_mail }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_mail_only_on_error is defined %} | ||||||
|  | Unattended-Upgrade::MailOnlyOnError "{{ unattended_upgrades_mail_only_on_error | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_remove_unused_kernel_packages is defined %} | ||||||
|  | Unattended-Upgrade::Remove-Unused-Kernel-Packages "{{ unattended_upgrades_remove_unused_kernel_packages | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_removed_unused_dependencies is defined %} | ||||||
|  | Unattended-Upgrade::Remove-Unused-Dependencies "{{ unattended_upgrades_removed_unused_dependencies | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_automatic_reboot is defined %} | ||||||
|  | Unattended-Upgrade::Automatic-Reboot "{{ unattended_upgrades_automatic_reboot | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_automatic_reboot_time is defined %} | ||||||
|  | Unattended-Upgrade::Automatic-Reboot-Time "{{ unattended_upgrades_automatic_reboot_time }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_download_limit is defined %} | ||||||
|  | Acquire::http::Dl-Limit "{{ unattended_upgrades_download_limit }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_syslog_enable is defined %} | ||||||
|  | Unattended-Upgrade::SyslogEnable "{{ unattended_upgrades_syslog_enable | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_syslog_facility is defined %} | ||||||
|  | Unattended-Upgrade::SyslogFacility "{{ unattended_upgrades_syslog_facility }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_only_on_ac_power is defined %} | ||||||
|  | Unattended-Upgrade::OnlyOnACPower "{{ unattended_upgrades_only_on_ac_power | lower }}"; | ||||||
|  | {% endif %} | ||||||
|  | {% if unattended_upgrades_skip_updates_on_metered_connections is defined %} | ||||||
|  | Unattended-Upgrade::Skip-Updates-On-Metered-Connections "{{ unattended_upgrades_skip_updates_on_metered_connections | lower }}"; | ||||||
|  | {% endif %} | ||||||
		Reference in New Issue
	
	Block a user