Playbooks I use for my homelab
1---
2- hosts: debian_servers
3 gather_facts: true
4 become: true
5
6 tasks:
7 - name: Perform a cache update
8 ansible.builtin.apt:
9 update_cache: true
10
11 - name: Perform a dist-upgrade
12 ansible.builtin.apt:
13 upgrade: dist
14
15 - name: Check if backports are enabled in sources.list
16 ansible.builtin.lineinfile:
17 path: /etc/apt/sources.list
18 regex: "backports"
19 state: absent
20 changed_when: false
21 check_mode: true
22 register: backports
23
24 - name: Perform a dist-upgrade from Debian backports
25 ansible.builtin.apt:
26 default_release: bookworm-backports
27 update_cache: true
28 upgrade: dist
29 when:
30 - ansible_distribution == 'Debian'
31 - backports.found == 1
32
33 - name: Check if reboot is required
34 ansible.builtin.stat:
35 path: /var/run/reboot-required
36 get_checksum: false
37 register: reboot_required_file
38
39 - name: Reboot the server (if required)
40 ansible.builtin.reboot:
41 when: reboot_required_file.stat.exists == true
42
43 - name: Remove dependencies that are no longer required
44 ansible.builtin.apt:
45 autoremove: true