gitmyhub

argo-cd

Go ★ 23k updated 1d ago

Declarative Continuous Deployment for Kubernetes

Argo CD automatically deploys software to Kubernetes by watching a Git repository and syncing the cluster to match it, giving you a reliable and auditable delivery process called GitOps.

GoKubernetessetup: hardcomplexity 4/5

Argo CD is a tool for automatically deploying software to Kubernetes clusters using a practice called GitOps. To understand what it does, a few terms help: Kubernetes is a system for running containerized applications at scale across multiple servers; deployment means pushing new versions of your software into that system; GitOps means using a Git repository (a version-controlled code store) as the single source of truth for what the system should look like.

The problem it solves: deploying to Kubernetes manually is complex and error-prone. Configuration can drift — meaning what's actually running gradually diverges from what you intended. Argo CD solves this by continuously comparing what your Git repository says the system should look like against what's actually running, and automatically syncing them back into alignment.

How it works: you describe your desired application state in configuration files stored in a Git repository. Argo CD watches that repository and your Kubernetes cluster simultaneously. If someone changes the config in Git, Argo CD deploys the change. If something changes in the cluster without a corresponding Git change (configuration drift), Argo CD can alert you or automatically revert it.

You would use Argo CD when managing application deployments on Kubernetes and wanting a reliable, auditable, automated delivery process where Git is the authoritative record of all changes.

The tech stack is Go, running on Kubernetes.

Where it fits