kind: PersistentVolumeClaim apiVersion: v1 metadata: name: action-runner namespace: homelab spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: longhorn --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: action-runner name: action-runner namespace: homelab spec: replicas: 9 selector: matchLabels: app: action-runner strategy: {} template: metadata: creationTimestamp: null labels: app: action-runner spec: nodeSelector: nodepool: worker topologySpreadConstraints: - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app: action-runner restartPolicy: Always volumes: - name: runner-data persistentVolumeClaim: claimName: action-runner securityContext: fsGroup: 1000 containers: - name: runner image: gitea/act_runner:nightly-dind-rootless imagePullPolicy: Always env: - name: DOCKER_HOST value: unix:///run/user/1000/docker.sock - name: GITEA_INSTANCE_URL value: https://git.dogar.dev - name: GITEA_RUNNER_REGISTRATION_TOKEN valueFrom: secretKeyRef: name: runner-secret key: runner-token securityContext: privileged: true volumeMounts: - name: runner-data mountPath: /data --- apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: action-runner-pdb namespace: homelab spec: minAvailable: 6 selector: matchLabels: app: action-runner