Files
fedora-infra_ansible/roles/dnf-automatic/tasks/main.yml

64 lines
1.7 KiB
YAML

---
#
# This role adds dnf automatic package and configuration.
# We want this on any public facing Fedora installs so we
# can pick up security updates.
#
- name: Install and configure dnf-automatic
when: ansible_pkg_mgr == 'dnf'
vars:
dnf: "{{ 5 if (ansible_distribution_major_version | int >= 41 and ansible_distribution == 'Fedora') else 4 }}"
package: "{{ 'dnf5-plugin-automatic' if dnf == '5' else 'dnf-automatic' }}"
timer: "{{ 'dnf5-automatic.timer' if dnf == '5' else 'dnf-automatic-install.timer' }}"
confdir: "/etc/systemd/system/{{ timer }}.d"
block:
- name: Install dnf-automatic
ansible.builtin.dnf:
name: "{{ package }}"
state: present
disablerepo: updates
tags:
- packages
- name: Install /etc/dnf/automatic.conf
ansible.builtin.template:
src: automatic.conf.j2
dest: /etc/dnf/automatic.conf
mode: '644'
tags:
- config
- name: Create directory for drop-in units
ansible.builtin.file:
path: "{{ confdir }}"
state: directory
mode: "755"
- name: Set dnf-automatic to execute only on Mon-Fri
community.general.ini_file:
path: "{{ confdir }}/weekdays.conf"
section: Timer
option: OnCalendar
value: Mon..Fri *-*-* 6:00:00
create: true
notify: Restart dnf-automatic timer
tags:
- config
- name: Enable and start dnf-automatic timer
ansible.builtin.service:
name: "{{ timer }}"
enabled: true
state: started
tags:
- config
- name: Disable silly makecache timer
ansible.builtin.systemd:
name: dnf-makecache.timer
masked: true
ignore_errors: true