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

GitOps Overview

The MATIH platform supports GitOps-based deployment using ArgoCD as the continuous delivery engine. ArgoCD monitors the Git repository for changes to Helm charts and Kubernetes manifests, then automatically synchronizes the desired state to the cluster.


GitOps Architecture

Git Repository (source of truth)
    |
    v
ArgoCD Server ──> Kubernetes Cluster
    |                    |
    +── Application Sets +── matih-control-plane
    +── App of Apps       +── matih-data-plane
    +── Platform Versions +── matih-monitoring

Sub-Pages

PageDescription
ArgoCD SetupInstallation, configuration, and RBAC
Application SetsDynamic application generation from templates
Platform VersionsVersion management and rollback strategy

GitOps vs Script-Based Deployment

AspectGitOps (ArgoCD)Script-Based (cd-new.sh)
TriggerGit pushManual or CI trigger
State trackingArgoCD + GitFile-based state
RollbackGit revertHelm rollback
Drift detectionAutomaticManual
Multi-clusterNativeCustom scripting
Best forProduction, multi-environmentDev, initial setup

Workflow Files

FilePurpose
.github/work-flows/cd-gitops.ymlTriggers ArgoCD sync on push to main
.github/work-flows/tenant-deploy.ymlPer-tenant deployment via GitOps

Key Concepts

ConceptDescription
ApplicationA single Helm release managed by ArgoCD
ApplicationSetA template that generates Applications dynamically
App of AppsA parent Application that manages child Applications
Sync PolicyControls automatic vs manual sync behavior
Health AssessmentArgoCD's view of resource health status