Initial commit
All checks were successful
/ ansible-docsmith (push) Successful in 41s

Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
Julien Riou 2026-03-23 10:48:41 +01:00 committed by Julien Riou
commit f418990e84
Signed by: jriou
GPG key ID: 9A099EDA51316854
85 changed files with 3520 additions and 2 deletions

View file

@ -0,0 +1,33 @@
---
- name: Create user
ansible.builtin.user:
name: "{{ forgejo_runners_user }}"
system: true
password: '!'
home: "{{ forgejo_runners_home_dir }}"
create_home: false
- name: Read attributes
ansible.builtin.getent:
database: passwd
key: "{{ forgejo_runners_user }}"
- name: Register runners
ansible.builtin.include_tasks: register-runner.yml
loop: "{{ forgejo_runners_settings | dict2items }}"
loop_control:
label: "{{ item.key }}"
- name: Create runners configuration
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{ forgejo_runners_config_dir }}/docker-compose.yml"
owner: "{{ forgejo_runners_user }}"
group: "{{ forgejo_runners_user }}"
mode: "0644"
- name: Start runners service
community.docker.docker_compose_v2:
project_src: "{{ forgejo_runners_config_dir }}"
files:
- docker-compose.yml

View file

@ -0,0 +1,39 @@
---
- name: Check variables
ansible.builtin.assert:
that:
- forgejo_runners_instance is defined
- forgejo_runners_version is defined
- forgejo_runners_config_dir is defined
- "'key' in item"
- "'value' in item"
- name: Create runner subdirectory
ansible.builtin.file:
path: "{{ forgejo_runners_config_dir }}/{{ item.key }}"
state: directory
mode: "0755"
owner: "{{ forgejo_runners_user }}"
group: "{{ forgejo_runners_user }}"
- 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_runners_user][1] }}:{{ ansible_facts.getent_passwd[forgejo_runners_user][2] }}
code.forgejo.org/forgejo/runner:{{ forgejo_runners_version }}
forgejo-runner register --no-interactive
--token {{ item.value.token }}
--name {{ item.key }}
--instance {{ forgejo_runners_instance }}
creates: "{{ forgejo_runners_config_dir }}/{{ item.key }}/.runner"
notify: Start runners
- name: Create runner configuration
ansible.builtin.template:
src: config.yml.j2
dest: "{{ forgejo_runners_config_dir }}/{{ item.key }}/config.yml"
notify: Restart runners