apiVersion: apps/v1 kind: Deployment metadata: labels: app: gitea-runner name: gitea-runner namespace: gitea spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: gitea-runner strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: kubectl.kubernetes.io/restartedAt: '2026-05-05T09:17:26Z' labels: app: gitea-runner spec: containers: - args: - --host=tcp://0.0.0.0:2375 - --tls=false env: - name: DOCKER_TLS_CERTDIR image: docker:24.0.9-dind imagePullPolicy: IfNotPresent livenessProbe: exec: command: - docker - info failureThreshold: 3 initialDelaySeconds: 20 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 1 name: dind resources: limits: cpu: '2' memory: 4Gi requests: cpu: 500m memory: 2Gi securityContext: privileged: true terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/lib/docker name: dind-storage - mountPath: /etc/docker/daemon.json name: docker-daemon-config subPath: daemon.json - mountPath: /etc/buildkit/buildkitd.toml name: buildkitd-config subPath: buildkitd.toml - args: - | until nc -z localhost 2375 2>/dev/null; do sleep 1; done exec /usr/local/bin/run.sh command: - /bin/sh - -c env: - name: GITEA_INSTANCE_URL value: http://gitea.gitea.svc.cluster.local:3000 - name: GITEA_RUNNER_NAME value: k8s-runner - name: CONFIG_FILE value: /etc/act_runner/config.yaml - name: GITEA_RUNNER_REGISTRATION_TOKEN valueFrom: secretKeyRef: key: GITEA_RUNNER_REGISTRATION_TOKEN name: gitea-runner-secret-infisical - name: DOCKER_HOST value: tcp://localhost:2375 image: gitea/act_runner:0.6.1 imagePullPolicy: Always name: runner resources: limits: cpu: '1' memory: 512Mi requests: cpu: 100m memory: 128Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /data name: runner-data - mountPath: /etc/act_runner name: runner-config dnsPolicy: ClusterFirst nodeSelector: kubernetes.io/hostname: chemavx-k8 restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - emptyDir: {} name: runner-data - configMap: defaultMode: 420 name: gitea-runner-config name: runner-config - emptyDir: sizeLimit: 10Gi name: dind-storage - configMap: defaultMode: 420 name: docker-daemon-config name: docker-daemon-config - configMap: defaultMode: 420 name: buildkitd-config name: buildkitd-config