--- # Deploys an instance-wide Gitea Actions runner (act_runner + DinD). - name: check for existing runner registration token secret kubernetes.core.k8s_info: kind: Secret namespace: gitea name: "{{ gitea_actions_runner_token_secret }}" register: runner_token_secret - name: generate and store a runner registration token when: runner_token_secret.resources | length == 0 block: # Poll instead of `kubectl rollout status`, which exits immediately once # a slow rollout has passed the deployment's progressDeadlineSeconds. - name: wait for the gitea deployment to finish rolling out command: >- kubectl -n gitea get deployment gitea -o jsonpath={.spec.replicas},{.status.replicas},{.status.updatedReplicas},{.status.availableReplicas} register: gitea_rollout until: gitea_rollout.stdout.split(',') | unique | length == 1 retries: 90 delay: 10 changed_when: false - name: generate instance-level runner registration token command: kubectl -n gitea exec deployment/gitea -c gitea -- gitea actions generate-runner-token register: runner_token retries: 10 delay: 15 until: runner_token.rc == 0 and (runner_token.stdout | trim | length) > 0 changed_when: false no_log: true - name: store runner registration token kubernetes.core.k8s: state: present definition: apiVersion: v1 kind: Secret metadata: name: "{{ gitea_actions_runner_token_secret }}" namespace: gitea type: Opaque stringData: token: "{{ runner_token.stdout | trim }}" no_log: true - name: deploy gitea actions runner kubernetes.core.helm: name: gitea-actions chart_ref: gitea/actions chart_version: "{{ gitea_actions_chart_version }}" release_namespace: gitea create_namespace: true values: enabled: true giteaRootURL: https://gitea.eom.dev existingSecret: "{{ gitea_actions_runner_token_secret }}" existingSecretKey: token statefulset: replicas: "{{ gitea_actions_runner_replicas }}" persistence: size: 1Gi runner: config: | log: level: info cache: enabled: false container: require_docker: true docker_timeout: 300s runner: capacity: 2 labels: - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" - "ubuntu-24.04:docker://docker.gitea.com/runner-images:ubuntu-24.04" - "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"