ansible-role-forgejo/tasks/register-runner.yml
Julien Riou 5f90be4299
feat: Deploy server and runners independently
Signed-off-by: Julien Riou <julien@riou.xyz>
2025-08-25 16:58:33 +02:00

40 lines
1.3 KiB
YAML

---
- name: check variables
ansible.builtin.assert:
that:
- forgejo_runners_instance | mandatory
- forgejo_runners_version | mandatory
- forgejo_runners_config_dir | mandatory
- item.key | mandatory
- item.value | mandatory
- name: create runner subdirectory
ansible.builtin.file:
path: "{{ forgejo_runners_config_dir }}/{{ item.key }}"
state: directory
mode: "0755"
owner: forgejo
group: forgejo
- name: register runner
ansible.builtin.command:
cmd: >-
docker run
-v /var/run/docker.sock:/var/run/docker.sock
-v {{ forgejo_runners_config_dir }}/{{ item.key }}:/data
--rm
--user {{ ansible_facts.getent_passwd.forgejo[1] }}:{{ ansible_facts.getent_passwd.forgejo[2] }}
code.forgejo.org/forgejo/runner:{{ forgejo_runners_version }}
forgejo-runner register --no-interactive
--token {{ item.value }}
--name {{ item.key }}
--instance {{ forgejo_runners_instance }}
creates: "{{ forgejo_runners_config_dir }}/{{ item.key }}/.runner"
notify: start runners
- name: create runner configuration
ansible.builtin.copy:
src: runners/config.yml
dest: "{{ forgejo_runners_config_dir }}/{{ item.key }}/config.yml"
force: false
notify: start runners