MATIH Platform is in active MVP development. Documentation reflects current implementation status.
18. CI/CD & Build System
Platform Versions

Platform Versions

Platform version management controls which versions of MATIH services are deployed to each environment. Version pinning ensures reproducible deployments, while the promotion workflow moves versions through dev, staging, and production.


Version Strategy

ComponentVersioningSource
Control plane servicesSemantic versioning (v1.2.3)Git tags
Data plane servicesSemantic versioningGit tags
Frontend applicationsSemantic versioningGit tags
Infrastructure chartsChart version in Chart.yamlHelm chart metadata
Third-party chartsPinned version in Chart.yaml dependenciesHelm repository

Version Promotion Flow

main branch ──> dev (automatic)
                 |
                 v
            staging (tag + approval)
                 |
                 v
            production (approval + sign-off)

Version File

Each environment has a version manifest that pins service versions:

# infrastructure/versions/dev.yaml
platform:
  version: "1.3.0-dev"
services:
  iam-service: "20260212-abc1234"
  tenant-service: "20260212-abc1234"
  ai-service: "20260212-abc1234"
  bi-workbench: "20260212-abc1234"
infrastructure:
  postgresql: "16.2.0"
  redis: "7.2.4"
  kafka: "3.7.0"

Rollback Strategy

GitOps Rollback

Revert the version file to a previous commit:

git revert <commit-hash>
git push origin main

ArgoCD detects the change and automatically rolls back to the previous version.

Helm Rollback

For immediate rollback without Git changes:

./scripts/cd-new.sh rollback ai-service matih-data-plane dev

Full Platform Rollback

./scripts/cd-new.sh rollback-all dev

Version History

The CD pipeline records deployment history:

./scripts/cd-new.sh history

Output includes stage, status, timestamp, and version for each deployment.


Version Compatibility Matrix

ComponentMinimum VersionNotes
Kubernetes1.28+Required for Spark Operator v2
PostgreSQL16.xRequired for logical replication
Kafka3.7+Required for KRaft mode
Spark4.1.1Required for Spark Connect
Flink1.18+Required for Flink SQL Gateway

Related Pages