MATIH Platform is in active MVP development. Documentation reflects current implementation status.
1. Introduction
Orchestration & IaC

Orchestration and IaC

The MATIH Platform is fully Kubernetes-native, with all services packaged as Helm charts and all infrastructure defined as code. This section documents the orchestration technologies, infrastructure-as-code tools, and deployment patterns used across the platform.


Orchestration Stack

TechnologyVersionPurpose
Kubernetes1.29+Container orchestration and workload scheduling
Helm3.14+Kubernetes package management
Terraform1.6+Infrastructure provisioning on cloud providers
CrossplaneLatestKubernetes-native infrastructure management
ArgoCDLatestGitOps continuous delivery
cert-managerLatestTLS certificate lifecycle management
External Secrets OperatorLatestSecret synchronization from external vaults
Strimzi Operator0.38+Kafka cluster management on Kubernetes
KubeRay OperatorLatestRay cluster management on Kubernetes
TemporalLatestDurable workflow orchestration for pipelines

Kubernetes

Kubernetes is the foundation of the platform's deployment model:

AspectDetails
Minimum version1.29
Namespaces7 platform namespaces + per-tenant namespaces
NetworkPoliciesPer-namespace ingress/egress rules
ResourceQuotasPer-tenant resource limits
RBACService accounts with least-privilege bindings
Pod SecurityNon-root containers, read-only filesystems

Helm

All 55+ platform components are packaged as Helm charts:

AspectDetails
Chart structureOne chart per service with values.yaml base + environment overrides
Environment overridesvalues-dev.yaml, values-staging.yaml, values-prod.yaml
Secret managementAll credentials via secretKeyRef, never hardcoded in values
Deep merge behaviorEnvironment overrides merge into base values
Validationhelm template + helm lint before every deployment

Helm Chart Organization

infrastructure/helm/
  +-- ai-service/
  +-- bi-service/
  +-- catalog-service/
  +-- iam-service/
  +-- tenant-service/
  +-- ingress-nginx/
  +-- ... (55+ charts)

Terraform

Terraform provisions cloud infrastructure across multiple providers:

ProviderResources
AzureAKS cluster, Azure DNS, Key Vault, Storage Account
AWSEKS cluster, Route53, Secrets Manager, S3
GCPGKE cluster, Cloud DNS, Secret Manager, GCS

Terraform modules are organized by cloud provider:

infrastructure/terraform/
  +-- modules/
  |     +-- azure/
  |     +-- aws/
  |     +-- gcp/
  +-- environments/
        +-- azure-matihlabs/
        +-- aws-production/

cert-manager

cert-manager automates TLS certificate management:

AspectDetails
Challenge typeDNS-01 via Azure DNS (production)
Issuersletsencrypt-staging-dns01 (dev), letsencrypt-prod-dns01 (production)
Per-tenant certificatesAutomated per-tenant certificate provisioning
RenewalAutomatic renewal before expiry

External Secrets Operator

External Secrets Operator synchronizes secrets from cloud vaults:

ProviderSecret Store
AzureAzure Key Vault
AWSAWS Secrets Manager
GCPGCP Secret Manager

In development, secrets are created via the scripts/lib/k8s/dev-secrets.sh script.


Deployment Workflow

StepToolCommand
Build serviceBuild script./scripts/build.sh
Build and deploy single serviceDeploy script./scripts/tools/service-build-deploy.sh
Full CD pipelineCD script./scripts/cd-new.sh all dev
Infrastructure onlyCD script./scripts/cd-new.sh infra dev
Check platform statusStatus script./scripts/tools/platform-status.sh

Related Pages