Files
infra/08-gitea-runner/runner.yaml

120 lines
3.0 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: gitea-runner
---
apiVersion: v1
kind: Secret
metadata:
name: runner-secret
namespace: gitea-runner
stringData:
token: "m7uOZcE8st7MtvjI2YThQy6em5GoCs2TPMXSnvdV"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: runner-config
namespace: gitea-runner
data:
config.yaml: |
log:
level: info
runner:
file: .runner
capacity: 1
timeout: 1h
labels:
- "ubuntu-latest:docker://docker:27"
- "ubuntu-22.04:docker://docker:27"
container:
network: host
privileged: true
docker_host: unix:///var/run/docker.sock
options: ""
workdir_parent: /workspace
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gitea-runner
namespace: gitea-runner
spec:
replicas: 1
selector:
matchLabels:
app: gitea-runner
template:
metadata:
labels:
app: gitea-runner
spec:
containers:
- name: runner
image: gitea/act_runner:latest
env:
- name: DOCKER_HOST
value: unix:///var/run/docker.sock
command: ["sh", "-c"]
args:
- |
apk add --no-cache docker-cli >/dev/null 2>&1
while ! docker info >/dev/null 2>&1; do sleep 1; done
act_runner register --no-interactive \
--instance http://gitea-http.gitea.svc.cluster.local:3000 \
--token "$(cat /secret/token)" \
--name k3s-runner \
--config /config/config.yaml \
--labels "ubuntu-latest:docker://docker:27,ubuntu-22.04:docker://docker:27"
act_runner daemon --config /config/config.yaml
volumeMounts:
- name: secret
mountPath: /secret
readOnly: true
- name: config
mountPath: /config
readOnly: true
- name: docker-sock
mountPath: /var/run
- name: data
mountPath: /data
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
- name: dind
image: docker:27-dind
securityContext:
privileged: true
env:
- name: DOCKER_TLS_CERTDIR
value: ""
volumeMounts:
- name: docker-sock
mountPath: /var/run
- name: dind-storage
mountPath: /var/lib/docker
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 2000m
memory: 2Gi
volumes:
- name: secret
secret:
secretName: runner-secret
- name: config
configMap:
name: runner-config
- name: docker-sock
emptyDir: {}
- name: data
emptyDir: {}
- name: dind-storage
emptyDir: {}