This lesson focuses on the essential ArgoCD features needed to learn GitOps concepts and workflows.
- 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.
- 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.
- 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.

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:
- 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.
- 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.
Links and References
- ArgoCD project: https://argo-cd.readthedocs.io/
- Helm: https://helm.sh/
- Kustomize: https://kustomize.io/
- Jsonnet: https://jsonnet.org/
- GitOps concepts: https://www.weave.works/technologies/gitops/
- 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.