Files
grm/ansible/roles/gitea-runner/tasks/deregister.yml
T
Emil Simeonov e5964ca5a9 GRM-14: feat: add systemd template units and multi-instance Ansible support
- Add instance-scoped base data/config directories in defaults
- Create gitea-runner@.service.j2 template supporting Docker and binary modes
- Refactor service.yml to install systemd template unit instances
- Remove direct container lifecycle from docker_mode.yml (delegate to systemd)
- Add deregister.yml for runner deregistration on disable/remove
- Create lifecycle playbooks: start, stop, enable, disable, status, remove
- Update handlers, integration_test, docker_update, binary_update for template units
2026-06-18 22:59:04 +02:00

63 lines
2.0 KiB
YAML

---
- name: Check if runner registration file exists
ansible.builtin.stat:
path: "{{ gitea_runner_data_dir }}/.runner"
register: runner_file_stat
- name: Read runner registration file
ansible.builtin.slurp:
src: "{{ gitea_runner_data_dir }}/.runner"
register: runner_file_content
when: runner_file_stat.stat.exists | default(false) | bool
- name: Parse runner registration data
ansible.builtin.set_fact:
runner_reg: >
{{ (runner_file_content.content | b64decode | from_json)
if (runner_file_content is defined and runner_file_content.content is defined)
else {} }}
when: runner_file_stat.stat.exists | default(false) | bool
- name: Deregister runner with Gitea via CLI
ansible.builtin.command: >
{{ gitea_runner_binary_path }} delete
--token {{ registration_token }}
--name {{ runner_name }}
--instance {{ gitea_url }}
--no-interactive
args:
chdir: "{{ gitea_runner_data_dir }}"
when:
- runner_file_stat.stat.exists | default(false) | bool
- not skip_runner_registration
- runner_mode == 'binary'
register: deregister_output
changed_when: deregister_output.rc == 0
failed_when: false
- name: Deregister runner with Gitea via Docker
ansible.builtin.command: >
docker run --rm
--entrypoint /usr/local/bin/gitea-runner
-v {{ gitea_runner_data_dir }}:/data
-w /data
{{ gitea_runner_docker_image }}:{{ gitea_runner_version | regex_replace('^v', '') }}
delete
--token {{ registration_token }}
--name {{ runner_name }}
--instance {{ gitea_url }}
--no-interactive
when:
- runner_file_stat.stat.exists | default(false) | bool
- not skip_runner_registration
- runner_mode == 'docker'
register: deregister_docker_output
changed_when: deregister_docker_output.rc == 0
failed_when: false
- name: Remove runner registration file
ansible.builtin.file:
path: "{{ gitea_runner_data_dir }}/.runner"
state: absent
when: runner_file_stat.stat.exists | default(false) | bool