Skip to main content

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: