Skip to content

ArgoCD

Supported Versions: ArgoCD v2.9+, Argo Rollouts v1.6+ Last Updated: July 11, 2026

Table of Contents

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

ComponentDescriptionReplicas (HA)
API ServerHandles all API requests, authentication, and RBAC2+
Repository ServerClones repos, generates manifests, caches results2+
Application ControllerMonitors applications, reconciles state2+ (sharded)
RedisCaching layer for repo server and controller3 (HA)
DexOIDC provider for SSO integration2+
Notification ControllerSends notifications on events1+
ApplicationSet ControllerManages ApplicationSet resources1+

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

GuideDescription
InstallationInstallation methods, CLI setup, HA configuration, EKS integration
ApplicationsApplication CRD, source types, health checks, hooks, App of Apps
Sync StrategiesSync policies, waves, windows, diffing, retry configuration
ApplicationSetsAll generators, templating, progressive sync, multi-cluster patterns
Traffic ManagementArgo Rollouts, blue-green, canary, analysis, ingress integration
Projects & RBACAppProject, RBAC policies, multi-tenancy, JWT tokens
SecuritySSO integration, secret management, TLS, audit logging
NotificationsNotification services, triggers, templates, subscriptions
Best PracticesRepository patterns, performance tuning, troubleshooting, EKS tips

Quick Start

1. Install ArgoCD

bash
# 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=300s

2. Access the UI

bash
# Port forward to access locally
kubectl port-forward svc/argocd-server -n argocd 8080:443

3. Get Initial Password

bash
# Retrieve the initial admin password
kubectl -n argocd get secret argocd-initial-admin-secret \
  -o jsonpath="{.data.password}" | base64 -d && echo

4. Login via CLI

bash
# Install CLI (macOS)
brew install argocd

# Login
argocd login localhost:8080

# Change password (recommended)
argocd account update-password

5. Deploy Your First Application

bash
# 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 guestbook

Or declaratively:

yaml
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: true

Version 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 VersionKubernetes Versions
2.13.x1.28 - 1.31
2.12.x1.27 - 1.30
2.11.x1.26 - 1.29
2.10.x1.25 - 1.28
2.9.x1.24 - 1.27

Amazon EKS Compatibility

EKS VersionRecommended ArgoCD
1.312.13.x
1.302.12.x - 2.13.x
1.292.11.x - 2.12.x
1.282.10.x - 2.11.x

Argo Rollouts Compatibility

Rollouts VersionArgoCD VersionFeatures
1.7.x2.10+Analysis improvements
1.6.x2.9+Notification integration
1.5.x2.8+Progressive delivery

Next Steps

  1. Installation Guide: Set up ArgoCD for production
  2. Applications Guide: Learn about Application CRD
  3. ApplicationSets Guide: Multi-cluster deployments

Resources

Quiz

To test what you've learned, try the ArgoCD installation quiz.