GitOps — паттерн deployment, при котором Git-репозиторий — единственный источник истины о состоянии инфраструктуры и приложений. Изменения делаются через PR в репо, специальный оператор (ArgoCD, Flux, Rancher Fleet) сравнивает состояние кластера с репо и автоматически синхронизирует.
Принципы (Weaveworks 2017): (1) декларативно — все манифесты K8s/Terraform в Git, (2) versioned — история изменений в git log, (3) автоматическая доставка — оператор пуллит и применяет, (4) continuous reconciliation — постоянно проверяет и лечит дрейф.
vs классический CI/CD push-model: CI/CD пушит из pipeline в кластер (нужны K8s-credentials в CI, риски утечки). GitOps pull-model — оператор в кластере сам ходит в git (нужен только read-only access). Безопаснее, auditable.
Практика: (1) ArgoCD — популярнее, богатый UI, application-level abstractions. (2) Flux v2 — лёгкий, GitOps toolkit из multiple CRD. Обе работают в нашем k3s из helm-чарта. Готовый recipe в `/docs/gitops`.