Skip to content

Instantly share code, notes, and snippets.

@briceburg
Created May 10, 2024 02:49
Show Gist options
  • Save briceburg/c77d9fbff37cf29865be01b87bf49d7f to your computer and use it in GitHub Desktop.
Save briceburg/c77d9fbff37cf29865be01b87bf49d7f to your computer and use it in GitHub Desktop.
What is ArgoCD

What is ArgoCD?

ArgoCD does a great job managing application "deployment" configuration across multiple k8s clusters. It does an equally well job maintaining "core" or "baseline" configuration across the clusters (e.g. ingress class CRDs), including the intrinsic ability to manage itself.

It works by watching for configuration changes in registered git repositories and performing a "sync" whenever there is a difference in the manifests it has applied (aka "live") and the ones in git (aka "desired"). "Syncs" can be performed automatically, through the API, or manually -- and the configuration repositories are typically polled for changes every 3m.

GitOps

This concept of responding to and applying infrastructure configuration changes in response to a git repository's state is called "gitops".

This model can have an advantage over imperative models because it leans towards determinism (its own configuration as well as application configuration is declarative and available in a way that can be easily rolled back, audited/reviewed, and centrally maintained).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment