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

ArgoCD Setup

This page covers the installation, configuration, and RBAC setup for ArgoCD in the MATIH platform. ArgoCD is deployed to the argocd namespace and configured to manage applications across control plane, data plane, and monitoring namespaces.


Installation

ArgoCD is installed via the official Helm chart:

helm repo add argo https://argoproj.github.io/argo-helm
 
helm upgrade --install argocd argo/argo-cd \
    --namespace argocd \
    --create-namespace \
    --values infrastructure/helm/argocd/values.yaml \
    --values infrastructure/helm/argocd/values-dev.yaml \
    --wait --timeout 10m

Configuration

Server Settings

SettingDevProduction
Insecure modeEnabled (no TLS)Disabled
Admin passwordGenerated, stored in K8s SecretStored in Key Vault
SSODisabledOIDC via IAM service
Repository accessHTTPS with deploy keySSH with deploy key

Repository Configuration

# argocd-cm ConfigMap
repositories:
  - url: https://github.com/matih-labs/matih-prototype.git
    type: git
    passwordSecret:
      name: argocd-repo-creds
      key: password
    usernameSecret:
      name: argocd-repo-creds
      key: username

RBAC Configuration

RolePermissionsUsers
adminFull access to all applicationsPlatform team
readonlyView applications and logsDevelopment teams
tenant-adminManage applications in tenant namespaceTenant administrators

RBAC Policy

p, role:admin, applications, *, */*, allow
p, role:admin, clusters, get, *, allow
p, role:readonly, applications, get, */*, allow
p, role:readonly, logs, get, */*, allow
p, role:tenant-admin, applications, *, matih-data-plane/*, allow

Managed Namespaces

NamespaceArgoCD ProjectApplications
matih-control-planecontrol-planeCP services, API gateway
matih-data-planedata-planeDP services, compute engines
matih-monitoring-control-planemonitoringCP monitoring stack
matih-monitoring-data-planemonitoringDP monitoring stack
matih-ingressinfrastructureIngress controller

Health Checks

ArgoCD uses custom health checks for MATIH-specific resources:

ResourceHealth Check
SparkApplicationCheck .status.applicationState.state
FlinkDeploymentCheck .status.jobManagerDeploymentStatus
RayClusterCheck .status.state

Related Pages