--- - 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