---
- name: "Update and upgrade system packages"
  hosts: all

  vars_files:
    - vars/ports.yml
    - vars/vars.yml

  tasks:
    - name: Perform an upgrade of packages
      ansible.builtin.apt:
        upgrade: "yes"
        update_cache: true

    - name: Check if a reboot is required
      ansible.builtin.stat:
        path: /var/run/reboot-required
        get_checksum: false
      register: reboot_required_file

    - name: Reboot the server (if required)
      ansible.builtin.reboot:
      when: reboot_required_file.stat.exists

    - name: Remove dependencies that are no longer required
      ansible.builtin.apt:
        autoremove: true