Skip to content

fix: restore laminar chart templates and api tracing#24

Merged
jamalavedra merged 1 commit into
mainfrom
fix/restore-laminar
Jun 7, 2026
Merged

fix: restore laminar chart templates and api tracing#24
jamalavedra merged 1 commit into
mainfrom
fix/restore-laminar

Conversation

@jamalavedra
Copy link
Copy Markdown

Summary

  • Restores contrib/chart/templates/laminar.yaml (6 Services + 3 Deployments + 3 StatefulSets) that upstream deleted in 6a96324 "fix: remove laminar support for refactoring". The Helm release on centaur-vps still routes laminar-centaur.fort.dev through cloudflared/socat to the laminar-frontend service, the laminar PVCs are still bound (40 GB of data), and api/slackbot/chatbot pods already have LMNR_* env vars baked in — so the public route was hitting a dead backend.
  • Restores the full laminar: block in contrib/chart/values.yaml so the chart can render again.
  • Re-adds _helpers.tpl definitions (centaur.laminarBaseUrl, centaur.laminarNoProxyHosts).
  • Keeps services/api/api/laminar_tracing.py (already untracked locally, imported by runtime_control.py).
  • Sets tokenBroker.enabled=false and networkPolicy.enabled=false in values.dev.yaml to match the actual running cluster.

Why

Upstream removed laminar to refactor it; we still depend on it for tracing the Slackbot + Chatbot. After the upstream sync merged that deletion, our cluster was left with half-restored config (env vars present, services missing). PVCs and cloudflared route survived; the partial restoration was sitting uncommitted on the centaur-vps host.

Test plan

  • helm template centaur contrib/chart -n centaur -f contrib/chart/values.dev.yaml renders cleanly
  • helm upgrade --install centaur contrib/chart -n centaur -f contrib/chart/values.dev.yaml applied to centaur-vps; 6 laminar pods reach Ready in <40s
  • Existing api/slackbot/chatbot/postgres pods did NOT restart (env vars already matched what the chart renders — verified via pod ages)
  • Existing PVCs (data-centaur-centaur-laminar-{postgres,clickhouse,quickwit}-0) auto-rebound to the restored StatefulSets, preserving old data
  • curl http://localhost:5667/ returns 307 → /sign-in (laminar Next.js frontend alive)
  • socat-laminar.service updated to the new laminar-frontend ClusterIP and restarted
  • https://slack-centaur.fort.dev/health still 200 — Slack flow undisrupted; active sandbox conversation continued running through the rollout
  • https://laminar-centaur.fort.dev/ reaches Cloudflare Access (the 403 is the Access gate, not a backend failure)

Follow-ups

  • Socat target is a hardcoded ClusterIP — if the laminar-frontend Service is recreated, the systemd unit will need its IP updated again. Cleaner: NodePort on laminar-frontend, or run the forwarder inside the cluster.

🤖 Generated with Claude Code

Upstream removed laminar in 6a96324, but our deployment still routes
laminar-centaur.fort.dev through cloudflared and the api/slackbot/chatbot
pods already have LMNR_* env vars baked in. Without the templates the
laminar services never get created, so the public route hits a dead
backend and the apps log laminar export failures.

Restore the deleted contrib/chart/templates/laminar.yaml (6 services,
3 Deployments, 3 StatefulSets reusing the existing PVCs) and the full
values block. Also keep services/api/api/laminar_tracing.py so the
runtime_control imports resolve.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jamalavedra jamalavedra merged commit a1aaf6e into main Jun 7, 2026
12 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant