--- - 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: systemctl --user daemon-reload become: true become_user: "{{ gitea_runner_service_user }}" environment: XDG_RUNTIME_DIR: "/run/user/{{ gitea_runner_uid }}" DBUS_SESSION_BUS_ADDRESS: "unix:path=/run/user/{{ gitea_runner_uid | default(0) }}/bus" 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: systemctl --user enable --now runner-healthcheck.timer become: true become_user: "{{ gitea_runner_service_user }}" environment: XDG_RUNTIME_DIR: "/run/user/{{ gitea_runner_uid }}" DBUS_SESSION_BUS_ADDRESS: "unix:path=/run/user/{{ gitea_runner_uid | default(0) }}/bus" changed_when: true when: - gitea_runner_systemd_available.stat.exists - gitea_runner_docker_rootless_setup