Composable monorepo CI fixes: - Add empty go.sum.tmpl files for pkg, service, worker, and cli components - Fix Dockerfile.tmpl glob patterns (COPY go.work.sum* is invalid in Kaniko) - Add deps step to CI that runs go work sync and go mod tidy before builds - Fix scalar-go dependency version (v0.1.2 doesn't exist, use v0.13.0) Health endpoint improvements: - Add registry health check (zot OCI /v2/ endpoint) - Add health metrics for CI, registry, and Git - Add /health/ci endpoint for Woodpecker health Visual verification scaffolding: - Add Playwright pod and scripts ConfigMap - Add vision.md and implementation breakdown plan Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
91 lines
2.1 KiB
YAML
91 lines
2.1 KiB
YAML
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: playwright
|
|
namespace: rdev
|
|
labels:
|
|
app.kubernetes.io/name: playwright
|
|
app.kubernetes.io/part-of: rdev
|
|
spec:
|
|
serviceName: playwright
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: playwright
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: playwright
|
|
app.kubernetes.io/name: playwright
|
|
app.kubernetes.io/part-of: rdev
|
|
rdev.orchard9.ai/role: playwright
|
|
spec:
|
|
containers:
|
|
- name: playwright
|
|
image: mcr.microsoft.com/playwright:v1.50.0-noble
|
|
imagePullPolicy: IfNotPresent
|
|
command: ["sleep", "infinity"]
|
|
|
|
resources:
|
|
requests:
|
|
cpu: "500m"
|
|
memory: "1Gi"
|
|
limits:
|
|
cpu: "2"
|
|
memory: "4Gi"
|
|
|
|
volumeMounts:
|
|
# Captures directory for screenshots and videos
|
|
- name: captures
|
|
mountPath: /captures
|
|
|
|
# Scripts ConfigMap mounted as scripts directory
|
|
- name: scripts
|
|
mountPath: /scripts
|
|
|
|
# Simple liveness check - container is running
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- test
|
|
- -f
|
|
- /scripts/capture.js
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 60
|
|
|
|
# Readiness - node and playwright are available
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
- node
|
|
- --version
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 30
|
|
timeoutSeconds: 10
|
|
|
|
volumes:
|
|
- name: captures
|
|
emptyDir: {}
|
|
|
|
- name: scripts
|
|
configMap:
|
|
name: playwright-scripts
|
|
defaultMode: 0755
|
|
---
|
|
# Headless service for StatefulSet
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: playwright
|
|
namespace: rdev
|
|
labels:
|
|
app.kubernetes.io/name: playwright
|
|
app.kubernetes.io/part-of: rdev
|
|
spec:
|
|
clusterIP: None
|
|
selector:
|
|
app: playwright
|
|
ports:
|
|
- port: 9323
|
|
name: debug
|