CLI App Commands
- argocd app listList apps
- argocd app getApp details
- argocd app createCreate app
- argocd app syncSync app
- argocd app deleteDelete app
Sync Status
- SyncedLive = desired
- OutOfSyncDiffers from Git
- UnknownCannot determine
Health Status
- HealthyRunning correctly
- ProgressingRolling out
- DegradedErrors present
- SuspendedPaused
- MissingNot deployed
Project Commands
- argocd proj listList projects
- argocd proj getProject info
- argocd proj createCreate project
- argocd proj add-sourceAdd source repo
Application Manifest
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/org/repo.git
targetRevision: HEAD
path: k8s/overlays/prod
destination:
server: https://kubernetes.default.svc
namespace: my-app
syncPolicy:
automated:
prune: true
selfHeal: true
Sync Options
syncPolicy:
automated:
prune: true # Delete removed resources
selfHeal: true # Fix drift automatically
allowEmpty: false # Prevent empty app
syncOptions:
- CreateNamespace=true
- PrunePropagationPolicy=foreground
- PruneLast=true
retry:
limit: 5
backoff:
duration: 5s
maxDuration: 3m
CLI Sync Options
- --pruneDelete removed
- --forceForce sync
- --dry-runPreview changes
- --revisionSpecific commit
- --resourceSync specific
Cluster Commands
- argocd cluster listList clusters
- argocd cluster addAdd cluster
- argocd cluster rmRemove cluster
- argocd cluster getCluster details
AppProject Configuration
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: my-project
namespace: argocd
spec:
description: Project for team apps
sourceRepos:
- 'https://github.com/org/*'
destinations:
- namespace: '*'
server: https://kubernetes.default.svc
clusterResourceWhitelist:
- group: ''
kind: Namespace
Hooks
- PreSyncBefore sync
- SyncDuring sync
- PostSyncAfter sync
- SyncFailOn failure
- SkipSkip resource
Source Types
- DirectoryPlain YAML
- HelmHelm chart
- KustomizeKustomize
- JsonnetJsonnet files
- PluginCustom plugin