GitOps Explained: Managing Infrastructure as Code
What is GitOps?
GitOps is a set of practices to manage infrastructure and application configurations using Git, an open-source version control system. It works by using Git as a single source of truth for declarative infrastructure and applications.
Principles of GitOps
- Declarative: The entire system described declaratively.
- Versioned: The canonical desired system state versioned in Git.
- Automated: Approved changes that can be automatically applied to the system.
- Self-healing: Software agents to ensure correctness and alert on divergence.
Tools
ArgoCD and Flux are the two most popular GitOps operators for Kubernetes.