- name: Upgrade all packages
  ansible.builtin.apt:
    name: "*"
    state: latest
    update_cache: yes

- name: Check if a reboot is needed
  ansible.builtin.stat:
    path: /var/run/reboot-required
    get_checksum: no
  register: rebootrequired

- name: Trigger reboot
  ansible.builtin.reboot:
    msg: "Reboot initiated by Ansible due to kernel updates"
    reboot_timeout: 300
    pre_reboot_delay: 0
    post_reboot_delay: 30
    test_command: uptime
  when: rebootrequired.stat.exists