Update Kubernetes Services Wiki / Generate and Update K8s Wiki (push) Failing after 1m6s
87 lines
2.6 KiB
YAML
87 lines
2.6 KiB
YAML
# Gitea Actions runner on the ai node. Jobs run as containers in the host's Docker
|
|
# (virtualisation.docker in hosts/ai of the nix repo) through the mounted socket.
|
|
# `replicas` is not set (see deployment.yaml): scale it with kubectl when needed.
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: gitea-runner-config
|
|
data:
|
|
config.yaml: |
|
|
runner:
|
|
capacity: 8 # jobs in parallel; the ai node has 32 threads and 124 GiB
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: gitea-runner
|
|
labels:
|
|
app: gitea-runner
|
|
annotations:
|
|
reloader.stakater.com/auto: "true"
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: gitea-runner
|
|
strategy:
|
|
type: Recreate
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: gitea-runner
|
|
spec:
|
|
serviceAccountName: gitea-runner
|
|
dnsConfig:
|
|
options:
|
|
- name: ndots
|
|
value: "2"
|
|
nodeSelector:
|
|
homelab.hexor.cy/pool: core
|
|
homelab.hexor.cy/exposure: internal
|
|
workload/ai: "true"
|
|
tolerations:
|
|
- key: workload
|
|
operator: Equal
|
|
value: ai
|
|
effect: NoSchedule
|
|
volumes:
|
|
- name: docker-sock
|
|
hostPath:
|
|
path: /var/run/docker.sock
|
|
type: Socket
|
|
- name: runner-data
|
|
emptyDir:
|
|
sizeLimit: 30Gi
|
|
- name: config
|
|
configMap:
|
|
name: gitea-runner-config
|
|
containers:
|
|
- name: gitea-runner
|
|
image: gitea/act_runner:nightly
|
|
volumeMounts:
|
|
- name: docker-sock
|
|
mountPath: /var/run/docker.sock
|
|
- name: runner-data
|
|
mountPath: /data
|
|
- name: config
|
|
mountPath: /config.yaml
|
|
subPath: config.yaml
|
|
env:
|
|
- name: CONFIG_FILE
|
|
value: /config.yaml
|
|
- name: GITEA_INSTANCE_URL
|
|
# Job containers run outside the cluster network, so they need the public URL.
|
|
value: https://gt.hexor.cy
|
|
- name: GITEA_RUNNER_REGISTRATION_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: gitea-runner-act-runner-secrets
|
|
key: token
|
|
- name: NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: spec.nodeName
|
|
- name: GITEA_RUNNER_NAME
|
|
value: $(NODE_NAME)
|
|
- name: GITEA_RUNNER_LABELS
|
|
value: ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest,ubuntu-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04,ubuntu-20.04:docker://ghcr.io/catthehacker/ubuntu:act-20.04
|