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
| Component | Versioning | Source |
|---|---|---|
| Control plane services | Semantic versioning (v1.2.3) | Git tags |
| Data plane services | Semantic versioning | Git tags |
| Frontend applications | Semantic versioning | Git tags |
| Infrastructure charts | Chart version in Chart.yaml | Helm chart metadata |
| Third-party charts | Pinned version in Chart.yaml dependencies | Helm 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 mainArgoCD 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 devFull Platform Rollback
./scripts/cd-new.sh rollback-all devVersion History
The CD pipeline records deployment history:
./scripts/cd-new.sh historyOutput includes stage, status, timestamp, and version for each deployment.
Version Compatibility Matrix
| Component | Minimum Version | Notes |
|---|---|---|
| Kubernetes | 1.28+ | Required for Spark Operator v2 |
| PostgreSQL | 16.x | Required for logical replication |
| Kafka | 3.7+ | Required for KRaft mode |
| Spark | 4.1.1 | Required for Spark Connect |
| Flink | 1.18+ | Required for Flink SQL Gateway |
Related Pages
- ArgoCD Setup -- ArgoCD configuration
- Application Sets -- Dynamic application generation
- CD Pipeline -- Script-based deployment