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,30 @@
# ExternalSecret - maelstrom-ui scoped API key
# Per inbox/ryan/2026-08-14-maelstrom-key-approval.md: Ryan approved pre-seeding
# via ExternalSecret (option b) since Ryan is the sole user of the pilot.
# Scoped key (resources/search/tasks read-only, no bot/admin) minted by Nick Fury,
# see system/inbox/agents/nick-fury/2026-08-14-maelstrom-ui-key-mint-complete.md
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: maelstrom-ui-credentials
namespace: openviking
annotations:
argocd.argoproj.io/sync-wave: "-1"
description: "Scoped read-only API key for maelstrom (Web Studio UI)"
spec:
refreshInterval: "1h"
secretStoreRef:
kind: ClusterSecretStore
name: onepassword-connect
target:
name: maelstrom-ui-credentials
creationPolicy: Owner
template:
engineVersion: v2
data:
maelstrom_ui_key: "{{ .MAELSTROM_UI_KEY }}"
data:
- secretKey: MAELSTROM_UI_KEY
remoteRef:
key: openviking
property: maelstrom-ui-key