| title | Local setup | |||
|---|---|---|---|---|
| summary | Run the platform locally with Docker Compose — the services, supporting infrastructure, and how to verify the ingest → transform → deliver path. | |||
| status | current | |||
| last_updated | 2026-06-23 | |||
| owners |
|
|||
| related |
|
Run the platform locally via Docker Compose to develop and demo the end-to-end ingest → transform → deliver path.
- Docker + Docker Compose.
- Node.js 20+ (for running/building individual services outside containers).
compose.yaml brings up:
- Kafka platform — Apache Kafka (
broker), Schema Registry (schema-registry), Kafka Connect (kafka-connect). - Transform runtime — Apache Flink (cluster or SQL Gateway) executing versioned Flink SQL transforms.
- Control plane —
control-api(MongoDB-backed),authorizer(JWT),webapp(control surface),observability-api. - Data plane —
connector-http-source(POST /ingest/:topic),connector-http-sink. - Supporting infra —
mongodb(state/auth),loki+promtail(logs), optionalclickhouse.
See the configuration reference for per-service environment variables.
docker compose up -d- Ingest —
POSTa JSON event toconnector-http-source:Expectcurl -X POST http://localhost:8085/ingest/dev.abcd.wxyz.orders.source \ -H 'Content-Type: application/json' \ -d '{"id":"1","status":"new","amount":42}'
202 Acceptedwith arequestId. - Transform — confirm the active Flink SQL transform produced to the
*.enrichedtopic (or inspect the topic directly — see broker). - Deliver — confirm the sink connector consumed/delivered the enriched record.
- DLQ — send a malformed event and confirm it lands in the
*.dlqtopic withx-dlq-reason.
From a service folder: npm install, then npm run build && npm start (see each service's README for exact scripts). Point MONGO_URI, KAFKA_BROKERS, and SCHEMA_REGISTRY_URL at the Compose services.