main.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. ---
  2. - name: Install unattended-upgrades
  3. apt:
  4. name: unattended-upgrades
  5. state: present
  6. - name: Create custom APT automatic timer directory
  7. file:
  8. state: directory
  9. path: /etc/systemd/system/apt-daily-upgrade.timer.d
  10. owner: root
  11. group: root
  12. mode: '0755'
  13. - name: Ensure APT auto installs updates at {{ apt_update_time }}
  14. template:
  15. src: time.conf.j2
  16. dest: /etc/systemd/system/apt-daily-upgrade.timer.d/time.conf
  17. owner: root
  18. group: root
  19. mode: '0644'
  20. notify: daemon reload
  21. - name: Enable unattended upgrades in debconf
  22. debconf:
  23. name: 'unattended-upgrades'
  24. question: 'unattended-upgrades/enable_auto_updates'
  25. vtype: 'boolean'
  26. value: 'true'
  27. - name: Check for existing local copy of config
  28. stat:
  29. path: /etc/apt/apt.conf.d/52unattended-upgrades-local
  30. register: unattended_local_config
  31. - name: Copy default config for local changes
  32. copy:
  33. src: /etc/apt/apt.conf.d/50unattended-upgrades
  34. dest: /etc/apt/apt.conf.d/52unattended-upgrades-local
  35. owner: root
  36. group: root
  37. mode: '0644'
  38. remote_src: True
  39. when:
  40. - unattended_local_config.stat.exists == False
  41. - name: Configure auto reboots for unattended upgrades
  42. ansible.builtin.lineinfile:
  43. path: /etc/apt/apt.conf.d/52unattended-upgrades-local
  44. regexp: 'Unattended-Upgrade::Automatic-Reboot'
  45. line: 'Unattended-Upgrade::Automatic-Reboot "true";'
  46. - name: Enable regular updates for unattended upgrades
  47. ansible.builtin.lineinfile:
  48. path: /etc/apt/apt.conf.d/52unattended-upgrades-local
  49. regexp: 'origin=Debian,codename=\$\{distro_codename\}-updates'
  50. line: ' "origin=Debian,codename=${distro_codename}-updates";'