Files
devops-infra-argo-config-gcp/wiki/entities/DevOps Infra ArgoCD Config.md
T
2026-08-26 04:03:34 +05:30

3.9 KiB

DevOps Infra ArgoCD Config

Wiki entity page for the devops-infra-argo-config repository.


Identity

Field Value
Repository Meesho/devops-infra-argo-config
Purpose Infrastructure tooling GitOps control plane — ArgoCD App-of-Applications pattern
Layer Layer 1-T (Tool-Mediated)
Owner DevOps / Platform team
Related repos devops-infra-helm-charts (charts + values), devops-argo-config (service workloads), terraform-google-modules (cluster provisioning)

What it does

This repo is the source of truth for every ArgoCD Application and AppProject that manages infrastructure tooling across Meesho's Kubernetes fleet. A merge to main immediately deploys via ArgoCD auto-sync.

Unlike devops-argo-config (which manages service/application workloads), this repo manages cluster tooling: ingress controllers (Contour), observability stacks (VictoriaMetrics, Grafana, Loki), policy engines (Kyverno), autoscalers (KEDA), secrets management (external-secrets), AI gateways, and more.


Architecture

App-of-Applications pattern

incubator/<env>/<cluster>.yaml          ← Parent Application (one per cluster)
    │
    │  points at
    ▼
generic-argo-apps-chart/                ← Single Helm chart
    │
    │  rendered with
    ▼
values/<env>/<cluster>-values.yaml      ← appSpec[] list
    │
    │  produces
    ▼
One ArgoCD Application per appSpec entry   ← Child Applications (tools)
    │
    │  sources charts + values from
    ▼
devops-infra-helm-charts                ← Sister repo (Helm charts + overrides)

Key directories

Directory Purpose
incubator/<env>/ Parent ArgoCD Application YAML per cluster
values/<env>/ Values files defining which tools deploy per cluster
generic-argo-apps-chart/ Helm chart that renders child Applications
projects/ ArgoCD AppProject definitions (sre, sec)
external-name-service-* Cross-cluster DNS routing (MCS topology)

Scale

Metric Count
Clusters managed (values files) ~19
Production clusters k8s-central, k8s-demand, k8s-supply, k8s-dataengg, k8s-datascience, k8s-dengspark, k8s-dscispark, k8s-dsgpu, k8s-farmiso, k8s-ml-platform (ase1 + ase1c variants)
Admin clusters k8s-admin-prd, k8s-devops-admin, k8s-sec-admin
Tools per cluster ~20-50 (varies by cluster role)
ArgoCD projects sre (all namespaces/clusters), sec (security-scoped)

Relationships

Depends on

System How
devops-infra-helm-charts Every appSpec[].chartDir and valuesDir must exist here
ArgoCD (admin cluster) Reads incubator Applications and syncs child Applications
GKE clusters Target destinations for deployed tools

Depended on by

System How
All infrastructure tools This repo controls their deployment lifecycle
Platform team operations Adding/removing/upgrading tools goes through this repo

Sibling

Repo Relationship
devops-argo-config Same pattern but for service workloads, not infra tooling

Key constraints

  1. Auto-sync: Merge to main = immediate deploy. No staging gate.
  2. No CI: Pre-commit hooks are the only client-side guard.
  3. Cross-repo dependency: Chart and values must exist in devops-infra-helm-charts before appSpec can reference them.
  4. Naming is structural: Cluster names, Application names, and file names are routing identifiers, not cosmetic labels.

Entry points

Audience Start here
Agents CLAUDE.md
New team members index.md
PR reviewers docs/global/coding-guidelines/infra-argo.md