Overview
The connect service (hellocobi/dashboard-connect) is a Python FastAPI service responsible for ingesting data from external data sources. It:
- Validates connector credentials against third-party APIs (GitHub, Slack, Linear, HubSpot)
- Executes ingestion runs that sync data from those sources into MinIO object storage
- Triggers schema mapping syncs requested by the backend
It runs on port 8000 as a ClusterIP service. By default it is reachable only within the cluster, but the chart can expose it through gateway.connect or ingress.connect when a deployment needs a public Connect endpoint.
Set the backend’s CONNECT_SERVICE_URL to the in-cluster service URL, usually http://cobi-dashboard-connect:8000.
How Authentication Works
Every request from the backend carries the header:
The service reads CONNECT_SERVICE_TOKEN at startup and validates each incoming request. If the variable is not set, the service refuses to start:
The same token value must be present on both sides — the connect Secret and the backend Secret.
Required Secrets
Connect Secret
HOST must be 0.0.0.0. The default 127.0.0.1 binds to loopback only — the Kubernetes Service cannot reach the pod.
Generate the shared token (use the same value in the backend Secret):
Backend Secret additions
The backend also needs CONNECT_SERVICE_TOKEN and CONNECT_BUCKET_PREFIX. See Backend Service for the full backend secret.
Environment Variable Reference
Server
MinIO Connection
The connect service writes ingestion artifacts to MinIO. The bucket, prefix, and per-request credentials are passed in the API request body by the backend, but the S3 endpoint for MinIO must be set as an environment variable — it is not included in the request body.
Helm Values
Verify the Service
Backend Connection
Add CONNECT_SERVICE_URL to the backend Secret or backend.env:
Verify it is set: