ArgoCD
Supported Versions: ArgoCD v2.9+, Argo Rollouts v1.6+ Last Updated: July 11, 2026
Table of Contents
- What is ArgoCD?
- Key Benefits
- Architecture Overview
- Core Concepts
- Sub-Guide Navigation
- Quick Start
- Version Compatibility
What is ArgoCD?
ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes. It automates the deployment of applications to Kubernetes clusters by synchronizing the desired state defined in Git repositories with the actual state in the cluster.
As a CNCF graduated project, ArgoCD has become the de facto standard for GitOps-based Kubernetes deployments, used by thousands of organizations worldwide.
Key Benefits
GitOps Native
- Git as Single Source of Truth: All application configurations stored in Git
- Declarative Deployments: Define desired state, ArgoCD handles the rest
- Audit Trail: Complete history of all changes via Git commits
- Rollback: Instant rollback to any previous state
Multi-Cluster Management
- Centralized Control: Manage hundreds of clusters from a single ArgoCD instance
- ApplicationSet: Template-based multi-cluster deployments
- Cluster Generator: Dynamic cluster targeting based on labels
Enterprise Ready
- RBAC: Fine-grained role-based access control
- SSO Integration: OIDC, SAML, LDAP support
- Multi-Tenancy: Project-based isolation
- High Availability: Production-ready HA deployment
Developer Experience
- Web UI: Visual application management and monitoring
- CLI: Full-featured command-line interface
- Notifications: Slack, Teams, email, webhook integrations
- Health Monitoring: Built-in and custom health checks
Architecture Overview
Core Components
| Component | Description | Replicas (HA) |
|---|---|---|
| API Server | Handles all API requests, authentication, and RBAC | 2+ |
| Repository Server | Clones repos, generates manifests, caches results | 2+ |
| Application Controller | Monitors applications, reconciles state | 2+ (sharded) |
| Redis | Caching layer for repo server and controller | 3 (HA) |
| Dex | OIDC provider for SSO integration | 2+ |
| Notification Controller | Sends notifications on events | 1+ |
| ApplicationSet Controller | Manages ApplicationSet resources | 1+ |
Data Flow
Core Concepts
Application
The Application CRD is the primary resource in ArgoCD. It defines:
- Source: Where to get the manifests (Git repo, Helm chart, OCI)
- Destination: Where to deploy (cluster and namespace)
- Sync Policy: How to handle synchronization
Project
Projects provide logical grouping and access control:
- Restrict which repositories can be used
- Limit destination clusters and namespaces
- Define allowed/denied resources
ApplicationSet
ApplicationSet enables managing multiple applications from a single definition using generators:
- List Generator: Static list of values
- Cluster Generator: Target registered clusters
- Git Generator: Scan repository directories/files
- Matrix/Merge: Combine multiple generators
Sync
Synchronization brings the cluster state to match the desired state:
- Manual Sync: User-triggered
- Auto Sync: Automatic on Git changes
- Self-Heal: Correct drift automatically
- Prune: Remove orphaned resources
Sub-Guide Navigation
| Guide | Description |
|---|---|
| Installation | Installation methods, CLI setup, HA configuration, EKS integration |
| Applications | Application CRD, source types, health checks, hooks, App of Apps |
| Sync Strategies | Sync policies, waves, windows, diffing, retry configuration |
| ApplicationSets | All generators, templating, progressive sync, multi-cluster patterns |
| Traffic Management | Argo Rollouts, blue-green, canary, analysis, ingress integration |
| Projects & RBAC | AppProject, RBAC policies, multi-tenancy, JWT tokens |
| Security | SSO integration, secret management, TLS, audit logging |
| Notifications | Notification services, triggers, templates, subscriptions |
| Best Practices | Repository patterns, performance tuning, troubleshooting, EKS tips |
Quick Start
1. Install ArgoCD
# Create namespace
kubectl create namespace argocd
# Install ArgoCD
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# Wait for pods to be ready
kubectl wait --for=condition=Ready pods --all -n argocd --timeout=300s2. Access the UI
# Port forward to access locally
kubectl port-forward svc/argocd-server -n argocd 8080:4433. Get Initial Password
# Retrieve the initial admin password
kubectl -n argocd get secret argocd-initial-admin-secret \
-o jsonpath="{.data.password}" | base64 -d && echo4. Login via CLI
# Install CLI (macOS)
brew install argocd
# Login
argocd login localhost:8080
# Change password (recommended)
argocd account update-password5. Deploy Your First Application
# Create application via CLI
argocd app create guestbook \
--repo https://github.com/argoproj/argocd-example-apps.git \
--path guestbook \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
# Sync the application
argocd app sync guestbookOr declaratively:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: guestbook
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/argoproj/argocd-example-apps.git
targetRevision: HEAD
path: guestbook
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: trueVersion Compatibility
July 2026 Update: ArgoCD 3.x Patch Releases
ArgoCD v3.4.5 was released on July 9, 2026. The 3.4 line is the current stable release line, and the next minor version, v3.5.0, has reached rc2. The tables below were written against the 2.x era — check the ArgoCD releases page for up-to-date per-version support information.
Kubernetes Compatibility
| ArgoCD Version | Kubernetes Versions |
|---|---|
| 2.13.x | 1.28 - 1.31 |
| 2.12.x | 1.27 - 1.30 |
| 2.11.x | 1.26 - 1.29 |
| 2.10.x | 1.25 - 1.28 |
| 2.9.x | 1.24 - 1.27 |
Amazon EKS Compatibility
| EKS Version | Recommended ArgoCD |
|---|---|
| 1.31 | 2.13.x |
| 1.30 | 2.12.x - 2.13.x |
| 1.29 | 2.11.x - 2.12.x |
| 1.28 | 2.10.x - 2.11.x |
Argo Rollouts Compatibility
| Rollouts Version | ArgoCD Version | Features |
|---|---|---|
| 1.7.x | 2.10+ | Analysis improvements |
| 1.6.x | 2.9+ | Notification integration |
| 1.5.x | 2.8+ | Progressive delivery |
Next Steps
- Installation Guide: Set up ArgoCD for production
- Applications Guide: Learn about Application CRD
- ApplicationSets Guide: Multi-cluster deployments
Resources
- ArgoCD Official Documentation
- ArgoCD GitHub Repository
- Argo Rollouts Documentation
- CNCF ArgoCD Project Page
Quiz
To test what you've learned, try the ArgoCD installation quiz.