feat: add Helm chart and Dockerfile for deploying Latitude to Kubernetes#2434
feat: add Helm chart and Dockerfile for deploying Latitude to Kubernetes#2434
Conversation
fb40e16 to
f9c9e7f
Compare
Adds a production-ready Helm chart under charts/latitude/ that deploys all four services: web (TanStack Start SSR), api (Hono HTTP), ingest (telemetry ingestion), and workers (Redpanda background jobs). Includes a multi-stage Dockerfile with per-service build targets (api, web, ingest, workers, migrations) and a health endpoint for the web app. Key design decisions: - All four app services deployed with health probes, optional HPA/PDB/Ingress - Secret management supports both inline values (dev/test) and an external pre-existing Kubernetes Secret (production) via existingSecret - ConfigMap and Secret cover all LAT_* env vars including Kafka/Redpanda, object storage (S3), Weaviate, ClickHouse migration vars, and admin DB URL - Pre-install/pre-upgrade migration Job runs Postgres (drizzle-kit), ClickHouse (goose), and Weaviate migrations before app pods roll out - Workers deployment uses extended terminationGracePeriodSeconds for in-flight job completion - Pod annotations include config/secret checksums to trigger rolling restarts on configuration changes - VITE_LAT_* vars documented as build-time (client bundle) with SSR runtime fallback Made-with: Cursor
f9c9e7f to
4742308
Compare
|
@cursoragent review |
|
The GitHub token doesn't have write access to post comments. I'll share the review directly here instead. PR Review: Helm Chart and Dockerfile for Kubernetes DeploymentGood foundation -- the chart structure, component labeling, checksum-based rollout triggers, Critical1. Workers only handle 2. Removing 3. 4. 5. Copy-then-delete anti-pattern inflates images Major6. All containers run as root 7. 8. ServiceAccount is a Helm hook but deployments reference it as a normal resource 9. Redis host/port are in the Secret but are not sensitive values 10. Migration job has no 11. All env vars (including secrets) are injected into every container 12. Cache-busting 13. No 14. Missing Minor15. 16. 17. Redundant test file deletes 18. Fragile 19. 20. ClickHouse migration vars pollute all pods 21. kind/ setup missing critical dependencies
Suggestions
Overall this is a well-structured PR with good patterns. The critical items (SIGTERM handling, package build script removal, |


Adds a production-ready Helm chart under charts/latitude/ that deploys all four services: web (TanStack Start SSR), api (Hono HTTP), ingest (telemetry ingestion), and workers (Redpanda background jobs).
Includes a multi-stage Dockerfile with per-service build targets (api, web, ingest, workers, migrations) and a health endpoint for the web app.
Key design decisions:
Made-with: Cursor