Argo CD: GitOps continuous delivery for Kubernetes

Argo CD (Intuit → CNCF): declarative GitOps for Kubernetes. Git as source of truth, automatic sync of desired vs cluster state, web UI, projects and application sets. CNCF Incubating from 2020, Graduated from 2022.

Open SourceWeb Argo CDGitOpsKubernetesIntuitCNCFDevOpsCloudOpen Source

GitOps as pattern

GitOps — term coined by Alexis Richardson (Weaveworks) in 2017 — is a continuous delivery paradigm where:

  1. Git is the source of truth for the system’s desired configuration
  2. A controller in the cluster observes both Git and actual state
  3. 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:

  1. Clones the Git repo
  2. Renders manifests (helm, kustomize, plain YAML, jsonnet)
  3. Compares with current cluster state
  4. Shows differences in UI and computes plan
  5. 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.

Need support? Under attack? Service Status
Need support? Under attack? Service Status