Files
trade-gitops/bootstrap/gitea-actions/runner-deployment.yaml
mpabi c566978367
All checks were successful
runner-smoke / smoke (push) Successful in 18s
fix(actions): run dind with explicit dockerd entrypoint
2026-04-12 16:42:30 +02:00

127 lines
3.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: trade-next-act-runner
namespace: gitea-actions
labels:
app.kubernetes.io/name: trade-next-act-runner
app.kubernetes.io/part-of: trade-gitops
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: trade-next-act-runner
template:
metadata:
labels:
app.kubernetes.io/name: trade-next-act-runner
app.kubernetes.io/part-of: trade-gitops
spec:
nodeSelector:
kubernetes.io/hostname: sol
volumes:
- name: runner-data
hostPath:
path: /var/lib/trade-gitops/gitea-actions/runner-data
type: DirectoryOrCreate
- name: runner-config
configMap:
name: act-runner-config
- name: docker-sock
emptyDir:
sizeLimit: 1Gi
- name: dind-data
emptyDir:
sizeLimit: 20Gi
initContainers:
- name: register
image: docker.io/gitea/act_runner:latest
env:
- name: GITEA_INSTANCE_URL
value: https://gitea.mpabi.pl
- name: GITEA_RUNNER_NAME
value: trade-next-sol
- name: GITEA_RUNNER_LABELS
value: ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest,k3s-deploy:docker://docker.gitea.com/runner-images:ubuntu-latest
- name: GITEA_RUNNER_REGISTRATION_TOKEN
valueFrom:
secretKeyRef:
name: act-runner-registration-token
key: token
command:
- /bin/sh
- -ec
args:
- |
if [ -f /data/.runner ]; then
echo "runner already registered"
exit 0
fi
act_runner --config /config/config.yaml register \
--no-interactive \
--instance "${GITEA_INSTANCE_URL}" \
--token "${GITEA_RUNNER_REGISTRATION_TOKEN}" \
--name "${GITEA_RUNNER_NAME}" \
--labels "${GITEA_RUNNER_LABELS}"
volumeMounts:
- name: runner-data
mountPath: /data
- name: runner-config
mountPath: /config
containers:
- name: dind
image: docker:27-dind
securityContext:
privileged: true
env:
- name: DOCKER_TLS_CERTDIR
value: ""
command:
- dockerd
args:
- --host=tcp://127.0.0.1:2375
- --host=unix:///var/run/docker.sock
- --tls=false
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: "1"
memory: 1Gi
volumeMounts:
- name: docker-sock
mountPath: /var/run
- name: dind-data
mountPath: /var/lib/docker
- name: runner
image: docker.io/gitea/act_runner:latest
env:
- name: CONFIG_FILE
value: /config/config.yaml
- name: GITEA_INSTANCE_URL
value: https://gitea.mpabi.pl
- name: DOCKER_HOST
value: tcp://127.0.0.1:2375
command:
- /bin/sh
- -ec
args:
- |
sleep 8
exec act_runner daemon --config /config/config.yaml
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
volumeMounts:
- name: runner-data
mountPath: /data
- name: runner-config
mountPath: /config
- name: docker-sock
mountPath: /var/run