Service Registry
The MATIH Platform uses Kubernetes-native service discovery. Every service is addressable via its DNS name within the cluster. The Platform Registry service maintains a catalog of all services, their APIs, and version information.
Kubernetes DNS
Every service is addressable via the pattern:
{service-name}.{namespace}.svc.cluster.local:{port}Control Plane Services
| Service | DNS Name | Port |
|---|---|---|
iam-service | iam-service.matih-control-plane.svc.cluster.local | 8081 |
tenant-service | tenant-service.matih-control-plane.svc.cluster.local | 8082 |
config-service | config-service.matih-control-plane.svc.cluster.local | 8888 |
notification-service | notification-service.matih-control-plane.svc.cluster.local | 8085 |
audit-service | audit-service.matih-control-plane.svc.cluster.local | 8086 |
billing-service | billing-service.matih-control-plane.svc.cluster.local | 8087 |
observability-api | observability-api.matih-control-plane.svc.cluster.local | 8088 |
infrastructure-service | infrastructure-service.matih-control-plane.svc.cluster.local | 8089 |
api-gateway | api-gateway.matih-control-plane.svc.cluster.local | 8080 |
platform-registry | platform-registry.matih-control-plane.svc.cluster.local | 8084 |
Data Plane Services
| Service | DNS Name | Port |
|---|---|---|
ai-service | ai-service.matih-data-plane.svc.cluster.local | 8000 |
query-engine | query-engine.matih-data-plane.svc.cluster.local | 8080 |
bi-service | bi-service.matih-data-plane.svc.cluster.local | 8084 |
ml-service | ml-service.matih-data-plane.svc.cluster.local | 8000 |
catalog-service | catalog-service.matih-data-plane.svc.cluster.local | 8086 |
pipeline-service | pipeline-service.matih-data-plane.svc.cluster.local | 8092 |
semantic-layer | semantic-layer.matih-data-plane.svc.cluster.local | 8086 |
render-service | render-service.matih-data-plane.svc.cluster.local | 8098 |
Service Configuration
Services reference their dependencies through environment variables populated from Helm values:
env:
QUERY_ENGINE_URL: "http://query-engine:8080"
SEMANTIC_LAYER_URL: "http://semantic-layer:8086"
CATALOG_SERVICE_URL: "http://catalog-service:8086"
REDIS_URL: "redis://redis:6379"Within the same namespace, services use short DNS names (e.g., query-engine:8080). Cross-namespace communication requires the FQDN.
Platform Registry
The Platform Registry service (port 8084) maintains a catalog of all services:
| Feature | Description |
|---|---|
| Service catalog | All registered services with version and health status |
| API schemas | OpenAPI specifications for every service |
| Schema registry | Kafka event schemas with versioning |
| Dependency graph | Service dependency information |
| Compatibility matrix | Version compatibility across services |
Health Check Endpoints
Every service exposes health check endpoints:
| Service Type | Health Endpoint | Protocol |
|---|---|---|
| Java/Spring Boot | /api/v1/actuator/health | HTTP |
| Python/FastAPI | /health | HTTP |
| Node.js/Express | /health | HTTP |
Related Pages
- Communication Patterns -- How services communicate
- Dependency Map -- Full dependency graph