apiVersion: apps/v1 kind: Deployment metadata: name: actions-runner spec: selector: matchLabels: app: actions-runner template: metadata: labels: app: actions-runner spec: hostname: kube-runner serviceAccountName: actions-runner containers: - name: actions-runner image: actions-runner resources: requests: memory: "128Mi" cpu: "500m" limits: memory: "2Gi" cpu: "2" env: - name: DOCKER_HOST value: tcp://localhost:2376 - name: DOCKER_CERT_PATH value: /certs/client - name: DOCKER_TLS_VERIFY value: "1" - name: GITEA_INSTANCE_URL value: "https://git.kluster.moll.re" - name: GITEA_RUNNER_REGISTRATION_TOKEN valueFrom: secretKeyRef: name: actions-runner-secret key: runner-token # - name: GITEA_RUNNER_LABELS # value: ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye - name: ACTIONS_RUNNER_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER value: "true" - name: ACTIONS_RUNNER_CONTAINER_HOOKS value: /home/runner/k8s/index.js - name: ACTIONS_RUNNER_CLAIM_NAME value: runner-workdir - name: GITEA_RUNNER_LABELS value: k8s volumeMounts: - name: runner-workdir mountPath: /home/runner/_work - name: runner-data mountPath: /data volumes: - name: runner-workdir persistentVolumeClaim: claimName: runner-workdir - name: runner-data persistentVolumeClaim: claimName: runner-data --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: runner-data spec: resources: requests: storage: 5Gi storageClassName: "nfs-client" volumeMode: Filesystem accessModes: - ReadWriteMany --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: runner-workdir spec: resources: requests: storage: 5Gi storageClassName: "nfs-client" volumeMode: Filesystem accessModes: - ReadWriteMany