apiVersion: apps/v1 kind: Deployment metadata: name: dynamic-runner-controller namespace: dynamic-runner spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: dynamic-runner-controller template: metadata: labels: app.kubernetes.io/name: dynamic-runner-controller spec: serviceAccountName: dynamic-runner-controller automountServiceAccountToken: false initContainers: - name: fetch-internal-ca image: curlimages/curl:8.16.0@sha256:463eaf6072688fe96ac64fa623fe73e1dbe25d8ad6c34404a669ad3ce1f104b6 args: - --fail - --silent - --show-error - --output - /trust/ca.pem - https://bao.ad.ddupan.top:8200/v1/pki/ca/pem securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 101 runAsGroup: 102 seccompProfile: type: RuntimeDefault volumeMounts: - name: trust mountPath: /trust containers: - name: controller image: zot.ad.ddupan.top/panxiao81/gitea-dynamic-runner-controller@sha256:83dd5c6f96b446e3aa2324e88e347b61f375fa95e99707b9b0ed505849a989da imagePullPolicy: IfNotPresent env: - name: NATS_URL value: tls://nats.ad.ddupan.top:4222 - name: NATS_CA_FILE value: /run/trust/ca.pem - name: NATS_PRODUCER_PASSWORD_FILE value: /run/dynamic-runner-secrets/nats-password - name: NATS_WORKER_PASSWORD_FILE value: /run/dynamic-runner-secrets/nats-worker-password - name: POD_CONSUMER_ENABLED value: "true" - name: WEBHOOK_SECRET_FILE value: /run/dynamic-runner-secrets/webhook-secret - name: REGISTRATION_TOKEN_FILE value: /run/dynamic-runner-secrets/token - name: OPENSANDBOX_API value: http://10.60.0.13:8080 - name: OPENSANDBOX_API_KEY_FILE value: /run/dynamic-runner-secrets/opensandbox-api-key - name: RUNNER_TOKEN_BASE_URL value: http://192.168.10.127:8787/token ports: - name: http containerPort: 8787 readinessProbe: httpGet: path: /healthz port: http periodSeconds: 5 livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 10 periodSeconds: 10 resources: requests: cpu: 25m memory: 32Mi limits: cpu: 250m memory: 128Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 seccompProfile: type: RuntimeDefault volumeMounts: - name: secret mountPath: /run/dynamic-runner-secrets readOnly: true - name: trust mountPath: /run/trust readOnly: true securityContext: fsGroup: 65532 fsGroupChangePolicy: OnRootMismatch seccompProfile: type: RuntimeDefault volumes: - name: secret secret: secretName: dynamic-runner defaultMode: 0400 - name: trust emptyDir: sizeLimit: 1Mi