current state + english docs

This commit is contained in:
Ansible Servercow
2026-02-20 13:56:27 +01:00
parent 787f438a97
commit ea7d5112d6
46 changed files with 519 additions and 108 deletions

View File

@@ -1,7 +1,14 @@
- hosts: all
user: tincadmin
become: true
vars:
os_update_major_version: true # Can either be true or false | To toggle if systems need to be upgraded to newer codename
os_also_update_mirror: false # Can either be true or false | To toggle if mirrors should be updated during major upgrade
os_update_version_codename: "trixie" # Change to switch major release (e.g. bookworm or trixie) | Used for jinja2 Template fill in as it determines the current codename of system where ansible is run on
do_snapshots: true # Can either be true or false | To toggle if snapshots should be created before os update
snapshot_name: "AUTO_before_os_update_{{ ansible_date_time.date }}" # Name
vars_files:
# Load vault file for sensitive data like Proxmox API tokens
- ../vault.yml
tasks:
- name: Verify if system is Debian
debug:
@@ -13,7 +20,45 @@
msg: "This playbook only supports Debian."
when: ansible_os_family != "Debian"
- name: Check for available updates
ansible.builtin.apt:
update_cache: yes
cache_valid_time: 0
register: apt_update
when: ansible_os_family == "Debian"
- name: Check if upgrades are available
ansible.builtin.command: apt list --upgradable
register: upgradable_packages
changed_when: false
when: ansible_os_family == "Debian"
- name: Set fact if updates are needed
set_fact:
updates_needed: "{{ upgradable_packages.stdout_lines | length > 1 }}"
when: ansible_os_family == "Debian"
- name: Include Proxmox Info task
ansible.builtin.include_role:
name: proxmox-automation
tasks_from: get-vmid
when:
- ansible_os_family == "Debian"
- do_snapshots | default(false)
- updates_needed | default(false)
- name: Create Snapshot before Modifications
ansible.builtin.include_role:
name: proxmox-automation
tasks_from: create-snapshots
when:
- ansible_os_family == "Debian"
- do_snapshots | default(false)
- updates_needed | default(false)
- name: Include OS update role
include_role:
ansible.builtin.include_role:
name: os-updates
when: ansible_os_family == "Debian"
when:
- ansible_os_family == "Debian"
- updates_needed | default(false)