MATIH Platform is in active MVP development. Documentation reflects current implementation status.
2. Architecture
Service Registry

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

ServiceDNS NamePort
iam-serviceiam-service.matih-control-plane.svc.cluster.local8081
tenant-servicetenant-service.matih-control-plane.svc.cluster.local8082
config-serviceconfig-service.matih-control-plane.svc.cluster.local8888
notification-servicenotification-service.matih-control-plane.svc.cluster.local8085
audit-serviceaudit-service.matih-control-plane.svc.cluster.local8086
billing-servicebilling-service.matih-control-plane.svc.cluster.local8087
observability-apiobservability-api.matih-control-plane.svc.cluster.local8088
infrastructure-serviceinfrastructure-service.matih-control-plane.svc.cluster.local8089
api-gatewayapi-gateway.matih-control-plane.svc.cluster.local8080
platform-registryplatform-registry.matih-control-plane.svc.cluster.local8084

Data Plane Services

ServiceDNS NamePort
ai-serviceai-service.matih-data-plane.svc.cluster.local8000
query-enginequery-engine.matih-data-plane.svc.cluster.local8080
bi-servicebi-service.matih-data-plane.svc.cluster.local8084
ml-serviceml-service.matih-data-plane.svc.cluster.local8000
catalog-servicecatalog-service.matih-data-plane.svc.cluster.local8086
pipeline-servicepipeline-service.matih-data-plane.svc.cluster.local8092
semantic-layersemantic-layer.matih-data-plane.svc.cluster.local8086
render-servicerender-service.matih-data-plane.svc.cluster.local8098

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:

FeatureDescription
Service catalogAll registered services with version and health status
API schemasOpenAPI specifications for every service
Schema registryKafka event schemas with versioning
Dependency graphService dependency information
Compatibility matrixVersion compatibility across services

Health Check Endpoints

Every service exposes health check endpoints:

Service TypeHealth EndpointProtocol
Java/Spring Boot/api/v1/actuator/healthHTTP
Python/FastAPI/healthHTTP
Node.js/Express/healthHTTP

Related Pages