GitOps Architecture with ArgoCD
ArgoCD is the declarative continuous delivery platform for Kubernetes adopted at LATAM Airlines. As part of the ANDES Delivery Plane, it provides developers with an automated workflow based on GitOps, where any configuration changes declared in Git are seamlessly and securely synchronized into our Google Kubernetes Engine (GKE) and Cloud Run clusters.

Key Concepts in ANDES DX
To operate optimally within the Developer Experience (DX) ecosystem, it is essential to understand three structural concepts:
| Concept | Platform Description |
|---|---|
| Application | Minimal unit representing a set of Kubernetes manifests managed in a specific namespace. |
| AppProject | Logical and security boundary that groups multiple Applications. |
| App of Apps | Hierarchical design pattern where a root application orchestrates child apps. |
Hierarchical Pattern: App of Apps
The ANDES platform uses the App of Apps pattern to initialize and maintain consistency across
the Delivery Plane. The root application, known as andes-bootstrap, orchestrates two major
configuration branches in an orderly fashion:
This approach enables:
- Atomic Bootstrap: Powering up an entire Kubernetes cluster from scratch with a single command.
- Configuration Drift Prevention (Self-Healing): If a resource in the cluster is manually modified, ArgoCD detects the divergence and automatically restores it to the state defined in Git.
Repository Architecture
The ANDES Delivery Plane segments operational responsibilities across core Git repositories, separating platform tooling from engineering team workloads:
andes-bootstrap: Root platform repository. It contains definitions for projects, global access control configurations, and application generators per cluster.andes-applications: Managed under Helm charts by the Platform Engineering team. It holds transverse utilities and system components (monitoring, cert-manager, ingress).latam-applications/{domain}: Isolated GitOps repositories segmented by business domain (e.g.,latam-applications/ecargo). They store the flat Kubernetes manifests of development applications corresponding to each domain. This separation avoids concurrency bottlenecks and safeguards tenant security.
Deployment Sequencing (Sync Waves)
To prevent collisions during synchronization, ANDES implements Sync Waves, ensuring that critical
components are spun up before the applications. The order is governed by the
argocd.argoproj.io/sync-wave annotation:
metadata:
annotations:
argocd.argoproj.io/sync-wave: "1"
| Wave (Priority) | Functional Group | Example Components |
|---|---|---|
| Wave 0 | Prerequisites and Security | Custom Resource Definitions, Namespaces, ServiceAccounts, GCP IAM |
| Wave 1 | Controllers and Configuration | GCP Secrets (ExternalSecrets), Application ConfigMaps, Ingress |
| Wave 2 | Workloads | Deployments, Services, HPAs, PDBs |
| Wave 3 | Verification and Tearing Down | Database verification Jobs, Smoke Tests, Notifications |
Next Step
Familiarize yourself with access requirements and login in the Getting Started guide.