MATIH Platform is in active MVP development. Documentation reflects current implementation status.
18. CI/CD & Build System
Stage 16: DP Services

Stage 16: Data Plane Services

Stage 16 deploys all data plane application services to the matih-data-plane namespace. This includes Python, Java, and Node.js services that form the data processing and AI/ML layer of the platform.

Source file: scripts/stages/16-data-plane-services.sh


Services Deployed

ServiceTechnologyPortDescription
ai-servicePython/FastAPI8000Conversational AI, agent orchestration
ml-servicePython/FastAPI8000ML model management and serving
data-quality-servicePython/FastAPI8000Data quality validation and scoring
pipeline-serviceJava8092Pipeline orchestration
catalog-serviceJava8086Data catalog API
semantic-layerJava8086Semantic model service
bi-serviceJava8084Business intelligence API
query-engineJava8080SQL generation and execution
render-serviceNode.js8098Chart and report rendering
data-plane-agentJava8085Data plane management agent
ontology-servicePython8101Semantic ontology management
governance-servicePython8080Data governance policies
ops-agent-servicePython8080Operations agent

Image Tag Resolution

Same pattern as Stage 08, with ACR validation and fallback:

  1. Read from build metadata JSON
  2. Validate tag exists in ACR (using catalog-service as sample)
  3. Fall back to latest ACR tag if not found
  4. Write resolved tag to tag file for downstream stages

Deployment Pattern

Each service follows the standard Helm deployment pattern:

helm upgrade --install <service> \
    infrastructure/helm/<service> \
    --namespace matih-data-plane \
    --set image.repository=${ACR_URL}/matih/<service> \
    --set image.tag=${IMAGE_TAG} \
    --wait --timeout 10m

Libraries Used

LibraryPurpose
core/config.shConfiguration and Terraform outputs
k8s/namespace.shNamespace management
k8s/secrets.shSecret management
helm/deploy.shHelm deployment
acr/deploy.shACR image verification

Dependencies

  • Requires: 05b-data-plane-infrastructure, 15a-matih-operator
  • Required by: 17-data-plane-frontend, 18-validate

Dependency Verification

kubectl get pods -n matih-data-plane
kubectl get deployments -n matih-data-plane