ArgoCD & GitOps fundamentals — Cheat Sheet — Practical Guide (Jun 7, 2026)
body {font-family: Arial, sans-serif; line-height: 1.6; max-width: 800px; margin: 1rem auto; padding: 0 1rem;}
h2, h3 {color: #2a3f66;}
pre {background: #f4f4f4; padding: 1rem; border-left: 4px solid #2a3f66; overflow-x: auto;}
code {font-family: Consolas, monospace;}
p.audience {font-weight: bold; font-style: italic; color: #555;}
p.social {margin-top: 2rem; font-style: italic; color: #888;}
ArgoCD & GitOps fundamentals — Cheat Sheet
Level: Intermediate
Updated for ArgoCD 2.x series (up to 2.9) and Kubernetes 1.27+, as of June 7, 2026.
Introduction
GitOps is a modern approach to Continuous Deployment that leverages Git as the single source of truth for declarative infrastructure and application state. ArgoCD is a leading, open-source GitOps operator that automates Kubernetes deployments by continuously synchronising Git repos with live clusters.
This cheat sheet distils the core concepts, practical steps, common pitfalls, and validation tips for ArgoCD-based GitOps workflows, assuming an intermediate understanding of Kubernetes and CI/CD pipelines.
Prerequisites
- Kubernetes Cluster: Access to a version 1.23+ cluster; ArgoCD 2.x supports up to 1.27+.
- kubectl: Installed locally and configured with cluster access.
- Git Repository: Contains declarative manifests or Helm charts for your apps.
- ArgoCD CLI (argocd): Installed for local interaction (optional but recommended).
- Familiarity: Basic knowledge of Kubernetes manifests, Helm/Kustomize, and Git workflows.
Hands-on steps
1. Install ArgoCD
Apply the official installation manifest directly from the ArgoCD project. This installs ArgoCD into the argocd namespace by default:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Though stable points to the latest stable release, you can specify exact versions for reproducibility, e.g. v2.9.7.
2. Expose the ArgoCD API Server
For local development/demo, port forward the ArgoCD server:
kubectl port-forward svc/argocd-server -n argocd 8080:443
For production, configure an Ingress or LoadBalancer.
3. Retrieve initial admin password
The default admin password is stored as a Kubernetes secret:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
4. Log in via CLI
Login to ArgoCD with the CLI:
argocd login localhost:8080 --username admin --password <password> --insecure
5. Register Your Kubernetes Cluster
If deploying to a cluster other than where ArgoCD runs, register it:
argocd cluster add <context-name>
This enables ArgoCD to manage apps on multiple clusters.
6. Create an Application Resource
You can create apps through CLI or manifests. Example CLI command:
argocd app create guestbook
--repo https://github.com/argoproj/argocd-example-apps.git
--path guestbook
--dest-server https://kubernetes.default.svc
--dest-namespace default
This points ArgoCD to the repo and directory containing K8s manifests or Helm charts.
7. Synchronise and Manage Your Application
Sync to apply manifests from Git:
argocd app sync guestbook
Monitor status with:
argocd app get guestbook
When to choose GitOps with ArgoCD vs other approaches
- ArgoCD GitOps: Best when you want declarative, auditable deployments and rollback capabilities with Kubernetes-native design.
- Helm only (without GitOps): Simpler release management but lacks continuous syncing and drift detection.
- Other GitOps tools (Flux): Flux has tighter integration with Helm and OCI registries; ArgoCD is often more user-friendly and UI-rich.
Common pitfalls
- Sync failures due to RBAC: Your ArgoCD ServiceAccount must have sufficient permissions on target clusters.
- Misconfigured repo URLs or credentials: Ensure SSH keys or tokens are correctly configured if using private repos.
- Resource diffs caused by mutable fields: Some metadata or status fields may differ; configure sync options or ignore differences where needed.
- Unclear app structure: Mixed or nested Kustomize/Helm manifests can confuse automation—keep repo layout clean.
- Multiple clusters confusion: Register and manage multiple target clusters carefully to avoid deploying to the wrong cluster.
Validation
Validate that ArgoCD is actively synchronising your apps and the live cluster matches Git state.
- Use ArgoCD Dashboard: Provides a graphical overview of app health and sync status.
- CLI status check:
argocd app get <app-name>shows if resources are Synced and Healthy. - Kubectl check: Compare live resource manifests with Git repo manually if needed.
- Event logs: Use
kubectl -n argocd logs deploy/argocd-application-controllerto troubleshoot issues.
Checklist / TL;DR
- ✔️ Kubernetes 1.23+ cluster and kubectl configured
- ✔️ Install ArgoCD from the official manifests in the
argocdnamespace - ✔️ Expose the ArgoCD API Server (port forward or ingress)
- ✔️ Retrieve admin password from secret and log in (CLI/UI)
- ✔️ Register target clusters if multi-cluster deployments needed
- ✔️ Connect Git repo and create Application CRs pointing to manifests/Helm charts
- ✔️ Sync apps, monitor health and address sync errors promptly
- ✔️ Secure repos and clusters with proper RBAC and secrets management