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
This commit is contained in:
Hermes Agent service account
2026-08-14 12:49:00 -05:00
parent aa2730efd5
commit 170a31d090
5 changed files with 151 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
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