Files
homelab/cluster/platform/openviking/maelstrom-ui/nginx.conf
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

35 lines
1.1 KiB
Nginx Configuration File

# maelstrom-ui nginx config
# Per plan §2: proxy /api/, /health, /ready to the openviking Service.
# /bot/ is deliberately NOT proxied — bot stays disabled (scope decision #3);
# any Web Studio call to /bot/v1/* 404s at this layer instead of reaching a disabled backend.
server {
listen 80;
server_name _;
location /api/ {
proxy_pass http://openviking.openviking.svc.cluster.local:1933/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /health {
proxy_pass http://openviking.openviking.svc.cluster.local:1933/health;
proxy_set_header Host $host;
}
location /ready {
proxy_pass http://openviking.openviking.svc.cluster.local:1933/ready;
proxy_set_header Host $host;
}
# bot stays disabled — no proxy for /bot/, static 404 by default nginx behavior.
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
}