Why Argo CD
Argo CD watches your Git repository and automatically syncs Kubernetes state to match. Push a commit, Argo CD deploys it. Drift detection, rollbacks, multi-cluster — all from Git.
Install
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# CLI
brew install argocd
# Get initial password
argocd admin initial-password -n argocd
Create an Application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/myorg/k8s-manifests.git
targetRevision: HEAD
path: apps/my-app
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
CLI Commands
# Sync app
argocd app sync my-app
# Check status
argocd app get my-app
# Rollback
argocd app rollback my-app 1
# Diff
argocd app diff my-app
Helm Application
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: redis
spec:
source:
repoURL: https://charts.bitnami.com/bitnami
chart: redis
targetRevision: 18.0.0
helm:
values: |
architecture: standalone
auth:
enabled: false
destination:
server: https://kubernetes.default.svc
namespace: redis
Key Features
- GitOps — Git as single source of truth
- Auto-sync — deploy on push
- Drift detection — alerts when cluster drifts from Git
- Rollback — one-click revert to any previous state
- Multi-cluster — manage multiple clusters from one Argo CD
- SSO — OIDC, LDAP, SAML authentication
- CNCF Graduated — production standard
Resources
Need to extract GitOps data, deployment history, or cluster configs? Check out my Apify tools or email spinov001@gmail.com for custom solutions.
Top comments (0)