--- - name: Upgrade packages on target host hosts: all become: true vars: category: maintenance subcategory: system tasks: - name: Detect distribution ansible.builtin.setup: gather_subset: - os_family - name: Upgrade on Debian/Ubuntu ansible.builtin.apt: update_cache: yes upgrade: dist when: ansible_facts['os_family'] == 'Debian' - name: Upgrade on Alpine ansible.builtin.shell: | apk update && apk upgrade when: ansible_facts['os_family'] == 'Alpine' - name: Upgrade on RedHat family ansible.builtin.dnf: name: "*" state: latest when: ansible_facts['os_family'] == 'RedHat' - name: Upgrade on FreeBSD ansible.builtin.shell: | pkg update && pkg upgrade -y when: ansible_facts['os_family'] == 'FreeBSD'