pez-infra/ansible/playbooks/update-all.yml
Rasmus Wejlgaard 737d6e0bc1 initial commit
2026-03-28 12:39:41 +00:00

64 lines
1.8 KiB
YAML

---
# Update all hosts (apt for Linux, pkg for FreeBSD, apk for Alpine).
# Usage: ansible-playbook playbooks/update-all.yml
- name: Update Linux hosts (apt)
hosts: linux
ignore_unreachable: true
tags: [update, linux]
tasks:
- name: Apt update + upgrade + autoremove
ansible.builtin.apt:
update_cache: true
upgrade: dist
autoremove: true
autoclean: true
register: apt_result
- name: Show upgrade summary
ansible.builtin.debug:
msg: "{{ apt_result.stdout_lines | default(['No output']) }}"
- name: Check if reboot is required
ansible.builtin.stat:
path: /var/run/reboot-required
register: reboot_required
- name: Notify if reboot needed
ansible.builtin.debug:
msg: "WARNING: REBOOT REQUIRED on {{ inventory_hostname }}"
when: reboot_required.stat.exists
- name: Update Alpine hosts (apk)
hosts: alpine
ignore_unreachable: true
tags: [update, alpine]
tasks:
- name: Apk update + upgrade
community.general.apk:
update_cache: true
upgrade: true
register: apk_result
- name: Show upgrade summary
ansible.builtin.debug:
msg: "{{ apk_result.stdout_lines | default(['No output']) }}"
- name: Update FreeBSD hosts (pkg)
hosts: freebsd
ignore_unreachable: true
tags: [update, freebsd]
tasks:
- name: Pkg update
ansible.builtin.command: pkg update -f
register: pkg_update_result
changed_when: "'Updating' in pkg_update_result.stdout"
- name: Pkg upgrade
ansible.builtin.command: pkg upgrade -y
register: pkg_upgrade_result
changed_when: "'upgraded' in pkg_upgrade_result.stdout or 'installed' in pkg_upgrade_result.stdout"
- name: Show upgrade summary
ansible.builtin.debug:
msg: "{{ pkg_upgrade_result.stdout_lines | default(['No output']) }}"