diff --git a/apps/github-runner/github-runner.yaml b/apps/github-runner/github-runner.yaml index fc08fad..aa3ca00 100644 --- a/apps/github-runner/github-runner.yaml +++ b/apps/github-runner/github-runner.yaml @@ -212,3 +212,93 @@ spec: # Restart policy: Always — the Deployment controller handles # re-registration after each ephemeral job completes. restartPolicy: Always +--- +# Shared.Pos repo-scoped Linux runner. Added 2026-05-20 to unstick the +# FlowerCore.Shared.Pos "Build, Test & Publish" workflow, which had been +# queued indefinitely after the Sprint 26 Mac POS Phase 1/2 PRs merged +# (no fc-build-linux runner was registered to Shared.Pos — GitHub user +# accounts have only repo-scoped runners). First concrete instance of the +# Sprint 29 Cx-1 Linux-runner-fleet pattern; the full per-repo fleet is +# codified by that lane. emptyDir nuget cache (no RWO PVC) so it shares no +# volume with the Common runner and needs no node pin. +apiVersion: apps/v1 +kind: Deployment +metadata: + name: github-runner-sharedpos + namespace: github-runner + labels: + app.kubernetes.io/name: github-runner-sharedpos + app.kubernetes.io/component: runner + app.kubernetes.io/part-of: flowercore + app.kubernetes.io/managed-by: argocd + flowercore.io/created-by: argocd +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: github-runner-sharedpos + strategy: + type: Recreate + template: + metadata: + labels: + app.kubernetes.io/name: github-runner-sharedpos + app.kubernetes.io/component: runner + app.kubernetes.io/part-of: flowercore + flowercore.io/created-by: argocd + spec: + serviceAccountName: github-runner + securityContext: + runAsNonRoot: true + runAsUser: 1001 + runAsGroup: 1001 + fsGroup: 1001 + containers: + - name: runner + image: myoung34/github-runner:latest + imagePullPolicy: Always + env: + - name: REPO_URL + value: "https://github.com/astoltz/FlowerCore.Shared.Pos" + - name: RUNNER_NAME_PREFIX + value: "rke2-linux-sharedpos" + - name: RUNNER_WORKDIR + value: "/tmp/runner/work" + - name: EPHEMERAL + value: "true" + - name: LABELS + value: "self-hosted,linux,fc-build-linux" + - name: ACCESS_TOKEN + valueFrom: + secretKeyRef: + name: github-runner-token + key: credential + - name: RUN_AS_ROOT + value: "false" + resources: + requests: + cpu: "500m" + memory: "1Gi" + limits: + cpu: "2000m" + memory: "4Gi" + volumeMounts: + - name: nuget-cache + mountPath: /home/runner/.nuget/packages + - name: tmp + mountPath: /tmp + livenessProbe: + exec: + command: + - /bin/sh + - -c + - "pgrep -f Runner.Listener > /dev/null" + initialDelaySeconds: 30 + periodSeconds: 30 + failureThreshold: 3 + volumes: + - name: nuget-cache + emptyDir: {} + - name: tmp + emptyDir: {} + restartPolicy: Always