Files
homelab/cluster/platform/openviking/deployment-maelstrom.yaml
Hermes Agent service account 170a31d090 feat(openviking): deploy maelstrom-ui Web Studio frontend
- Build/push image: the-seas.local.mk-labs.cloud/library/maelstrom-ui:v0.3.17-1
  (upstream volcengine/openviking web-studio/, pinned to commit 3cd1d4e9)
- Deployment + Service serving the static SPA via nginx (reverse-proxies
  /api, /health, /ready to openviking backend; /bot deliberately NOT proxied)
- Ingress at maelstrom.local.mk-labs.cloud (TLS via letsencrypt-internal)
- ExternalSecret wiring scoped maelstrom-ui-key from
  op://mk-labs/openviking/maelstrom-ui-key into the pod env (MAELSTROM_UI_KEY)

Per approved plan: inbox/ryan/2026-08-14-maelstrom-ui-deployment-plan.md
Key mint + approval: system/inbox/agents/nick-fury/2026-08-14-maelstrom-ui-key-mint-complete.md
Ryan approval: inbox/ryan/2026-08-14-maelstrom-key-approval.md
2026-08-14 12:49:36 -05:00

38 lines
888 B
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: maelstrom-ui
namespace: openviking
spec:
replicas: 1
selector:
matchLabels: { app: maelstrom-ui }
template:
metadata:
labels: { app: maelstrom-ui }
spec:
containers:
- name: maelstrom-ui
image: the-seas.local.mk-labs.cloud/library/maelstrom-ui:v0.3.17-1
ports: [{ containerPort: 80 }]
env:
- name: MAELSTROM_UI_KEY
valueFrom:
secretKeyRef:
name: maelstrom-ui-credentials
key: maelstrom_ui_key
resources:
requests: { cpu: 50m, memory: 64Mi }
limits: { cpu: 200m, memory: 128Mi }
---
apiVersion: v1
kind: Service
metadata:
name: maelstrom-ui
namespace: openviking
spec:
selector: { app: maelstrom-ui }
ports:
- port: 80
targetPort: 80