Appearance
Port Allocation
All Kaya Sync services run on the 5000–5099 range. Each service is allocated a block of 2 ports, one for the main HTTP/gRPC API and one for health checks / metrics.
The docs site runs on 5099 (end of the service range).
Service Port Map
| Port | +1 (Health/Metrics) | Service |
|---|---|---|
| 5000 | 5001 | Identity & Access Service |
| 5010 | 5011 | Device Governance Service |
| 5020 | 5021 | Vehicle & Capacity Service |
| 5030 | 5031 | Order & Container Service |
| 5040 | 5041 | Scan Ingestion Service |
| 5050 | 5051 | Integrity AI Service |
| 5060 | 5061 | Orchestration Service |
| 5070 | 5071 | Settlement Service |
| 5080 | 5081 | Carbon Ledger Service |
| 5085 | 5086 | Fraud & Collusion Service |
| 5090 | 5091 | Audit / Event Store |
| 5095 | 5096 | Notification Service |
Reserved Range
| Range | Purpose |
|---|---|
| 5000–5098 | Kaya Sync microservices |
| 5099 | Docs site (VitePress) |
Convention
- Even base port → main service API
- Base port + 1 → health check / Prometheus metrics endpoint
- Gaps between services (e.g. 5000, 5010, 5020) leave room to add auxiliary ports (e.g. admin interface, internal gRPC) without disrupting the allocation
Workflow
When a new service is scaffolded, it is assigned its port from the table above and hardcoded into that service's config or environment file. This ensures no two services ever clash and there is no guesswork about what is running where.
bash
# Example: Identity & Access Service .env
PORT=5000
HEALTH_PORT=5001Every service must respect its allocated port. Do not use dynamic or random port assignment in any Kaya Sync service.