Saltar al contenido principal

Documentation Index

Fetch the complete documentation index at: https://docs.mka1.com/llms.txt

Use this file to discover all available pages before exploring further.

MKA1 sigue un modelo de despliegue alineado con GitOps donde el repositorio de Git es la única fuente de la verdad para toda la infraestructura y el estado de las aplicaciones. Cada despliegue es una transacción atómica de Helm: si algún recurso no llega a estar saludable, toda la publicación se revierte automáticamente sin intervención manual.

Qué está activo

Git como fuente única de la verdad

Toda la plataforma MKA1 está definida como un único chart de Helm (mka1-platform) almacenado en el repositorio de Git infra-resources. Ningún cambio llega a un clúster sin antes ser confirmado y revisado mediante una pull request.
  • El chart de Helm y los archivos de valores definen cada carga de trabajo, servicio, plantilla de secretos, HPA y PDB para la plataforma.
  • Anulaciones específicas por entorno separan la configuración de staging y producción mientras comparten la misma definición de chart.
  • Secretos cifrados se gestionan con SOPS y se confirman junto con el chart, asegurando que incluso la configuración sensible quede registrada en el historial de Git.

Despliegues atómicos con Helm

Las publicaciones de Helm se ejecutan con la opción --atomic, que envuelve toda la actualización en una transacción. Si algún recurso de la publicación falla su comprobación de disponibilidad, Helm revierte automáticamente toda la publicación a la última revisión conocida como buena.
helm upgrade --install mka1 mka1-platform \
  --atomic \
  --wait \
  --timeout 15m \
  -f values.yaml
  • --atomic — Si la actualización falla en cualquier punto, Helm elimina los nuevos recursos y restaura la publicación anterior. El clúster nunca queda en un estado de despliegue parcial.
  • --wait — Helm espera a que todos los Pods, Servicios y otros recursos reporten estar listos antes de marcar la publicación como exitosa.
  • --timeout 15m — Un límite configurable evita que los despliegues queden colgados indefinidamente. Si no se logra la disponibilidad dentro de ese tiempo, la publicación se considera fallida y se revierte.

Reconciliación automatizada vía CI/CD

Los flujos de trabajo de GitHub Actions se disparan automáticamente en cada push a main que modifique rutas de infraestructura. El pipeline se autentica con AWS, configura kubectl para el clúster EKS objetivo y aplica el estado deseado definido en Git:
  1. Un desarrollador fusiona una pull request en main.
  2. GitHub Actions detecta el cambio y dispara el flujo de despliegue.
  3. El flujo extrae el repositorio en el SHA del commit fusionado.
  4. helm upgrade --install --atomic reconcilia el clúster para que coincida con el estado deseado definido en Git.
  5. Si no se puede alcanzar el estado deseado, la reversión atómica garantiza que el clúster permanezca en la última revisión exitosa.

Historial de despliegue inmutable

Cada publicación de Helm crea una revisión versionada almacenada en el clúster. Esto proporciona una pista de auditoría completa de lo que se desplegó, cuándo y desde qué commit de Git.
helm history mka1-platform
helm rollback mka1-platform <revision>
Combinado con el historial de commits de Git, esto da trazabilidad total desde el cambio de código hasta el estado desplegado.

Cómo lo validamos

Validamos el flujo de trabajo GitOps inspeccionando el estado de la publicación de Helm desplegada y confirmando que coincide con la configuración definida en Git.
helm list
kubectl rollout status deployment/<name>
helm get values mka1-platform
El propio pipeline de CI/CD sirve como validación continua: cada push a main dispara un ciclo completo de reconciliación. Si el estado del clúster se desvía del estado deseado definido en Git, la siguiente ejecución del pipeline lo corrige.

Evidencia

Flujo de actualización atómica de Helm

Lo siguiente demuestra el comportamiento de despliegue atómico. Cuando todos los recursos se vuelven saludables, la publicación es exitosa:
Release "mka1-platform" has been upgraded. Happy Helming!
NAME: mka1-platform
LAST DEPLOYED: 2026-04-01 18:32:05
NAMESPACE: default
STATUS: deployed
REVISION: 42
Cuando un recurso falla su comprobación de disponibilidad, toda la publicación se revierte automáticamente:
Error: UPGRADE FAILED: release mka1-platform failed, and has been rolled back
  due to atomic being set: timed out waiting for the condition
No queda ningún estado parcial — el clúster permanece en la revisión saludable anterior.

Historial de publicaciones de Helm

REVISION  UPDATED                   STATUS      DESCRIPTION
40        2026-03-28 14:10:22       superseded  Upgrade complete
41        2026-03-30 09:45:11       superseded  Upgrade complete
42        2026-04-01 18:32:05       deployed    Upgrade complete
Cada revisión es una instantánea puntual de la configuración desplegada, permitiendo la reversión instantánea a cualquier estado anterior.