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