--- - name: Create healthcheck script ansible.builtin.template: src: runner-healthcheck.sh.j2 dest: "{{ gitea_runner_healthcheck_script_path }}" owner: "{{ gitea_runner_service_user }}" group: "{{ gitea_runner_service_user }}" mode: "0755" - name: Write auto-recovery API token file ansible.builtin.copy: content: "{{ gitea_runner_auto_recover_api_token }}" dest: "{{ gitea_runner_config_dir }}/auto-recover.token" owner: "{{ gitea_runner_service_user }}" group: "{{ gitea_runner_service_user }}" mode: "0400" no_log: true when: gitea_runner_auto_recover_api_token | length > 0 - name: Remove stale auto-recovery token file (if auto-recovery disabled) ansible.builtin.file: path: "{{ gitea_runner_config_dir }}/auto-recover.token" state: absent when: gitea_runner_auto_recover_api_token | length == 0 - name: Create healthcheck user service file ansible.builtin.template: src: runner-healthcheck.service.j2 dest: "{{ gitea_runner_home }}/.config/systemd/user/runner-healthcheck.service" owner: "{{ gitea_runner_service_user }}" group: "{{ gitea_runner_service_user }}" mode: "0644" - name: Create healthcheck user timer file ansible.builtin.template: src: runner-healthcheck.timer.j2 dest: "{{ gitea_runner_home }}/.config/systemd/user/runner-healthcheck.timer" owner: "{{ gitea_runner_service_user }}" group: "{{ gitea_runner_service_user }}" mode: "0644" - name: Reload systemd user daemon for healthcheck timer ansible.builtin.command: > runuser -u {{ gitea_runner_service_user }} -- env XDG_RUNTIME_DIR=/run/user/{{ gitea_runner_uid }} DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/{{ gitea_runner_uid | default(0) }}/bus systemctl --user daemon-reload changed_when: true when: - gitea_runner_systemd_available.stat.exists - gitea_runner_docker_rootless_setup - name: Enable and start healthcheck user timer ansible.builtin.command: > runuser -u {{ gitea_runner_service_user }} -- env XDG_RUNTIME_DIR=/run/user/{{ gitea_runner_uid }} DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/{{ gitea_runner_uid | default(0) }}/bus systemctl --user enable --now runner-healthcheck.timer changed_when: true when: - gitea_runner_systemd_available.stat.exists - gitea_runner_docker_rootless_setup