Skip to main content
In this lesson we use ArgoCD to learn core GitOps terminology and practical features. The goal is to explain the essential ArgoCD concepts and workflows needed to implement GitOps-inspired continuous delivery for Kubernetes—not to exhaustively document every ArgoCD capability.
This lesson focuses on the essential ArgoCD features needed to learn GitOps concepts and workflows.
What is ArgoCD?
  • ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes.
  • It treats one or more Git repositories as the single source of truth for application manifests and continuously ensures the cluster state matches the desired state defined in Git.
  • ArgoCD monitors running applications, computes diffs between live and desired states, surfaces deviations, and provides visual and programmatic controls to synchronize the live state manually or automatically.
How ArgoCD fits the GitOps pattern
  • Desired state: stored in Git (manifests, charts, overlays, templates).
  • Reconciliation: ArgoCD pulls from Git, compares with cluster state, and applies Kubernetes manifests to reach the declared state.
  • Observability & Safety: diffs, health checks, RBAC, and audit logs enable safe, auditable deployments.
Key behaviors
  • Continuous reconciliation loop: ArgoCD periodically (or on-demand) checks Git and the cluster, reporting drift.
  • Two sync modes: manual (operator approves changes) or automated (ArgoCD applies changes automatically).
  • Multi-cluster support: manage applications across many Kubernetes clusters from one control plane.
  • Extensible input sources: supports multiple templating engines and generators.
The image explains ArgoCD, a declarative GitOps continuous delivery tool for Kubernetes, detailing its purpose, benefits, and functionality including Git-based configuration, automation of synchronization, and its compatibility with various applications like Helm and Ksonnet.
Supported manifest sources and when to use them
SourceUse caseNotes / Links
Helm chartsPackage-based templating for complex apps and chart repositoriesGreat when reusing or customizing community charts — https://helm.sh/
Kustomize overlaysPatch-based customization without templatingUseful for environment overlays and declarative customization — https://kustomize.io/
Plain Kubernetes YAMLSimple, explicit manifestsBest for small apps or when avoiding template complexity
JsonnetProgrammatic manifests for advanced customizationGood for large systems needing reusable logic — https://jsonnet.org/
Other generatorsCustom tooling or plugin-based generatorsArgoCD supports additional supported plugins and generators
Some older tools (for example, ksonnet) are deprecated and no longer actively maintained. Prefer actively supported tools such as Helm, Kustomize, or Jsonnet for templating and generation.
Sync strategies, diffs, and hooks
  • Sync strategies:
    • Manual: operator reviews diffs and triggers sync.
    • Automated: ArgoCD applies changes automatically when Git changes are detected (can be gated with health checks).
  • Diffs & visualizations: ArgoCD highlights added, changed, and removed resources, making it easy to review intended changes before applying.
  • Lifecycle hooks: support pre-sync and post-sync hooks (Jobs, scripts) to orchestrate database migrations, canary steps, or cleanup tasks.
  • Health assessment: ArgoCD evaluates resource health and can be configured to stop or roll back on failures.
Benefits of using ArgoCD
  • Git as source of truth: versioning, code review, and auditability for deployments.
  • Continuous, automated reconciliation: reduces configuration drift and manual errors.
  • Centralized multi-cluster management: consistent deployments across environments.
  • Visibility & control: built-in UI, CLI, and API for observing and controlling application state.
Quick reference of core components
ComponentPurpose
ApplicationLogical mapping of a Git repo (or path) to a target cluster/namespace
App-of-AppsPattern to manage multiple applications via a single parent application
RepositoryGit server or Helm repo where manifests are stored
ControllerReconciliation engine that applies manifests to clusters
API / UI / CLIMethods to interact with ArgoCD (sync, rollback, diff, inspect)
Links and References Further learning
  • Try deploying a simple app with ArgoCD using a Helm chart or plain YAML to see reconciliation and diff behavior.
  • Explore RBAC, SSO integration, and metrics/auditing for production-ready setups.

Watch Video