Architecture
Thecobi-dashboard Helm chart deploys the full Cobi platform as a set of Kubernetes workloads. All components run in a single namespace and communicate over the cluster network.
Components
| Component | Image | Port | Purpose |
|---|---|---|---|
| frontend | hellocobi/dashboard-frontend | 8080 | Vite/React web application |
| backend | hellocobi/dashboard-backend | 3000 | REST API, auth, business logic |
| connect | hellocobi/dashboard-connect | 8000 | Data source ingestion service |
| postgresql | Bitnami PostgreSQL | 5432 | Auth database (dashboard_auth) and core database (cobi_core) |
| qdrant | qdrant/qdrant | 6333 / 6334 | Vector store for semantic search |
| vllm-stack | vllm/vllm-openai | 8000 | LLM inference, OpenAI-compatible API |
| minio | Bitnami MinIO | 9000 / 9001 | S3-compatible object storage for documents |
| otel-lgtm | grafana/otel-lgtm | 3000 / 4317 / 9090 | Grafana + Prometheus + Loki + Tempo |
Connection Map
| From | To | Key environment variable | Port |
|---|---|---|---|
| Browser | Gateway / Ingress / frontend Route | — | 443 |
| Gateway / Ingress / frontend Route | frontend | — | 8080 |
| Browser | Gateway / Ingress / API Route | VITE_API_BASE_URL | 443 |
| Gateway / Ingress / API Route | backend | — | 3000 |
| Gateway / Ingress | connect | — | 8000 |
| backend | connect | CONNECT_SERVICE_URL | 8000 |
| connect | minio | S3_ENDPOINT | 9000 |
| backend | postgresql | DATABASE_URL | 5432 |
| backend | qdrant | QDRANT_URL | 6333 |
| backend | minio | S3_ENDPOINT, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY | 9000 |
| backend | vllm-stack | OPENAI_BASE_URL | 8000 |
| backend | otel-lgtm | OTEL_EXPORTER_OTLP_ENDPOINT | 4318 |
Dependency Chart Sources
| Chart | Repository | Version |
|---|---|---|
postgresql | https://charts.bitnami.com/bitnami | 16.x.x |
qdrant | https://qdrant.github.io/qdrant-helm | 1.16.3 |
vllm-stack | https://vllm-project.github.io/production-stack | 0.1.9 |
minio | https://charts.bitnami.com/bitnami | 17.x.x |
Exposure Models
The chart supports Gateway API, Kubernetes Ingress, and OpenShift Routes for the user-facing app/API path. Enable one model at a time:- Gateway API — uses
GatewayandHTTPRouteresources, tested with Envoy Gateway. This is the preferred kOps v2/self-hosted rehearsal path and is configured undergateway. - Kubernetes Ingress — uses top-level
ingressvalues, tested withnginx. It supports shared-host routing and separate hostnames for app, API, Connect, MinIO, and Grafana. - OpenShift Routes — uses frontend and backend API
Routeresources with edge TLS termination, configured underopenshift.route. Connect stays internal throughCONNECT_SERVICE_URLunless your deployment needs to expose it separately.