GitOps as pattern
GitOps — term coined by Alexis Richardson (Weaveworks) in 2017 — is a continuous delivery paradigm where:
- Git is the source of truth for the system’s desired configuration
- A controller in the cluster observes both Git and actual state
- When actual state deviates from desired, the controller reconciles
Difference from traditional CI/CD (push model): the cluster pull reduces CI credential exposure and uniformly handles rollback/rollforward as Git commits.
Argo CD
Argo CD — developed internally by Intuit and open-sourced in 2018 — is one of the two mainstream GitOps controllers (alongside Flux). CNCF Incubating from April 2020, Graduated December 2022. Apache 2.0 licence.
As of July 2020 version 1.6 consolidates production maturity with sync waves, phases, pre/post sync hooks.
How it works
Argo CD introduces the Application concept: a K8s custom resource pointing to:
- Git repository + path + revision (branch, tag, commit) as source
- Destination cluster + namespace as target
- Sync policy (manual, automatic with prune/self-heal)
Argo CD:
- Clones the Git repo
- Renders manifests (helm, kustomize, plain YAML, jsonnet)
- Compares with current cluster state
- Shows differences in UI and computes plan
- Applies changes (sync) manually or automatically
Multi-cluster architecture
An Argo CD install can manage many clusters from a central point:
- A control (management) cluster
- N target clusters (staging, production, edge)
Applications in a control cluster can target remote clusters via kubeconfig. Web UI aggregates all states.
App of Apps and ApplicationSets
To manage dozens/hundreds of applications:
- App of Apps — an Application that deploys other Applications (recursive)
- ApplicationSet (from 2.0, 2021) — template + generator creating N Applications from a matrix (e.g. one per cluster + app)
Scales to thousands of applications with declarative management.
Argo Workflows, Argo Events, Argo Rollouts
Broader Argo Project ecosystem:
- Argo Workflows — K8s-native pipeline orchestrator
- Argo Events — event-driven triggers
- Argo Rollouts — advanced progressive deployments (canary, blue/green)
Competitor: Flux
Flux CD (Weaveworks, later CNCF) is the main alternative:
- Flux v2 (2021) supersedes v1 with modular architecture based on separate controllers
- More focus on pure GitOps without built-in web UI
- More “small” and composable
Argo CD dominates for projects wanting rich UI, Flux for those preferring pure CLI/kubectl.
In the Italian context
Argo CD becomes standard in Italian K8s teams between 2020-2022:
- Banks and insurance with multi-cluster prod/dev
- Telco on managed Kubernetes
- PA adopting GitOps as governance pattern
References: Argo CD 1.6 (July 2020). Intuit (original development, 2018). CNCF Incubating (April 2020) → Graduated (December 2022). Apache 2.0 licence. GitOps (Alexis Richardson, Weaveworks, 2017). Argo Project: CD, Workflows, Events, Rollouts.
