# GitOps

> Manejar la infraestructura desde Git, con un agente que hace que la realidad coincida.

- Nivel: Avanzado
- Temas: Cloud, Software
- URL: https://tidbit.legios.com.ar/es/gitops/
- En inglés: [GitOps](https://tidbit.legios.com.ar/gitops/)

**GitOps** es una forma de operar sistemas, sobre todo en Kubernetes, donde un repositorio Git es la única fuente de verdad sobre qué tiene que estar corriendo. El repositorio guarda archivos declarativos que describen el estado deseado: qué apps, qué versiones de imágenes de contenedor, cuántas réplicas, qué configuración. Para cambiar producción no corrés comandos contra el cluster; abrís un pull request, alguien lo revisa y se mergea.

Un agente que corre dentro del cluster, como Argo CD o Flux, vigila el repositorio. Cuando cambia el estado deseado, trae el cambio y lo aplica. Y lo más importante: compara todo el tiempo lo que dice Git con lo que está corriendo de verdad y corrige cualquier diferencia, un ciclo que se llama **reconciliación**. Si alguien toca algo a mano a las 3 de la mañana, el agente detecta el desvío y lo vuelve a su lugar, o por lo menos avisa.

Los beneficios vienen del propio Git. Cada cambio tiene autor, revisión y fecha, lo que facilita mucho las auditorías y los análisis de incidentes. Volver atrás es revertir un commit. Un entorno entero se puede reconstruir desde el repositorio. Y como el agente trae los cambios desde adentro, el sistema de CI no necesita credenciales de administrador del cluster. El proyecto OpenGitOps lo resume en cuatro principios: declarativo, versionado e inmutable, traído automáticamente y reconciliado de forma continua. Los costos: los secretos necesitan un manejo especial, porque no deberían quedar en Git en texto plano, y los equipos se tienen que acostumbrar a no "arreglarlo rapidito" a mano nunca más.

## Una analogía

Un termostato. No prendés la caldera vos; marcás la temperatura que querés y el termostato va midiendo el ambiente y corrigiendo. En GitOps, el repositorio es la perilla y el agente es el termostato.

## Para quedarse

- Git guarda el estado deseado; el cluster se ajusta para coincidir.
- Un agente como Argo CD o Flux trae los cambios y corrige los desvíos todo el tiempo.
- Cada cambio es un commit revisado; volver atrás es un revert.
- Los secretos y los arreglos manuales piden disciplina y herramientas extra.

## Para seguir leyendo

- [Principios de OpenGitOps (en inglés)](https://opengitops.dev/)
- [¿Qué es GitOps? (Red Hat)](https://www.redhat.com/es/topics/devops/what-is-gitops)
- [Documentación de Argo CD (en inglés)](https://argo-cd.readthedocs.io/en/stable/)

## Términos relacionados

- [Kubernetes](https://tidbit.legios.com.ar/es/kubernetes/): El sistema que corre y cuida contenedores en muchas máquinas a la vez.
- [Git](https://tidbit.legios.com.ar/es/git/): Una máquina del tiempo para el código: cada cambio guardado, por quién y por qué.
- [Contenedor](https://tidbit.legios.com.ar/es/container/): Una caja cerrada con un programa y todo lo que necesita para correr en cualquier lado.
- [Revisión de código](https://tidbit.legios.com.ar/es/code-review/): Que otra persona lea un cambio de código antes de que pase a ser parte del producto.
- [Agente de IA](https://tidbit.legios.com.ar/es/ai-agent/): Un LLM que puede actuar, mirar el resultado y seguir hasta terminar la tarea.
