Arquitectura GitOps con ArgoCD
ArgoCD es la plataforma de entrega continua declarativa para Kubernetes adoptada en LATAM Airlines. Como parte del Delivery Plane de ANDES, proporciona a los desarrolladores un modelo automatizado basado en GitOps, donde cualquier cambio en la configuración declarada en Git se sincroniza de forma transparente y segura en nuestros clusters de Google Kubernetes Engine (GKE) y Cloud Run.

Conceptos Clave en ANDES DX
Para operar de forma óptima en el ecosistema de Developer Experience (DX), es fundamental comprender tres conceptos estructurales:
| Concepto | Descripción en la Plataforma |
|---|---|
| Application | Unidad mínima que representa un conjunto de manifiestos K8s en un namespace. |
| AppProject | Frontera lógica y de seguridad que agrupa múltiples Applications. |
| App of Apps | Patrón jerárquico de diseño de orquestación de aplicaciones. |
Patrón Jerárquico: App of Apps
La plataforma ANDES utiliza el patrón App of Apps para inicializar y mantener la consistencia
del Delivery Plane. La aplicación raíz, conocida como andes-bootstrap, orquesta de forma ordenada
dos grandes ramas de configuración:
Este enfoque permite:
- Bootstrap Atómico: Levantar un cluster de Kubernetes completo desde cero con un solo comando.
- Evitar Deriva de Configuración (Self-Healing): Si algún recurso en el cluster es modificado, ArgoCD detecta la desviación y restablece automáticamente la configuración definida en Git.
Arquitectura de Repositorios
El Delivery Plane de ANDES segmenta las responsabilidades operacionales en repositorios Git centrales, separando las herramientas de plataforma de las cargas de trabajo de desarrollo:
andes-bootstrap: Repositorio raíz de la plataforma. Contiene las definiciones de proyectos, configuraciones globales de control de accesos y los generadores de aplicaciones por cluster.andes-applications: Administrado bajo Helm charts por el equipo de Platform Engineering. Sostiene utilitarios transversales y componentes del sistema (monitoreo, ingress, cert-manager).latam-applications/{dominio}: Repositorios GitOps aislados por dominio de negocio (ej:latam-applications/ecargo). Almacenan los manifiestos planos de las aplicaciones de desarrollo. Esta separación evita cuellos de botella de concurrencia y resguarda el aislamiento de seguridad.
Secuenciación de Despliegues (Sync Waves)
Para evitar colisiones durante la sincronización, ANDES implementa Sync Waves, asegurando que los
componentes críticos se levanten antes que las aplicaciones. El orden está regido por la anotación
argocd.argoproj.io/sync-wave:
metadata:
annotations:
argocd.argoproj.io/sync-wave: "1"
| Wave (Prioridad) | Grupo Funcional | Ejemplo de Componentes |
|---|---|---|
| Wave 0 | Prerrequisitos y Seguridad | CRDs, Namespaces, ServiceAccounts, Políticas IAM |
| Wave 1 | Controladores y Configuración | Secretos de GCP, ConfigMaps, Ingress |
| Wave 2 | Cargas de Trabajo (Workloads) | Deployments, Services, HPAs, PDBs |
| Wave 3 | Verificación y Cierre | Jobs de verificación, Smoke Tests, Notificaciones |
Siguiente Paso
Familiarízate con los requisitos de acceso y login en la guía de Primeros pasos.