ArgoCD Basics
What is ArgoCD?
ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes. It follows the GitOps pattern of using Git repositories as the source of truth for defining the desired application state.
With ArgoCD, application definitions, configurations, and environments are stored in Git. ArgoCD automates the synchronization of the desired state in Git with the actual state running in your Kubernetes clusters.
ArgoCD Application CRD
An ArgoCD Application is a Kubernetes Custom Resource Definition (CRD) that defines the source of your application manifests and the destination cluster where they should be deployed.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: guestbook
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/example/guestbook.git
targetRevision: HEAD
path: k8s/
destination:
server: https://kubernetes.default.svc
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
Sync Policy Options
The syncPolicy section controls how ArgoCD synchronizes your application:
- automated: Enables automatic sync when the Git repository changes
- prune: Removes resources that no longer exist in Git
- selfHeal: Reverts manual changes made directly to the cluster
ArgoCD Sync Loop
Rebel Training: Autonomous Navigation
Convoy Sigma's Autonomous Navigation system pre-programs rebel routes through UTA-controlled space. Master ArgoCD's GitOps patterns across four tiers to keep your fleet on course.