# Overview
# What is Argo CD?
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
# Why Argo CD?
Application definitions, configurations, and environments should be declarative and version controlled. Application deployment and lifecycle management should be automated, auditable, and easy to understand.
# How it works
Argo CD follows the GitOps pattern of using Git repositories as the source of truth for defining the desired application state. Kubernetes manifests can be specified in several ways:
- kustomize applications
- helm charts
- ksonnet applications
- jsonnet files
- plain directory of YAML/json manifests
- any custom config management tool configured as a config management plugin
Argo CD automates the deployment of the desired application states in the specified target environments. Application deployments can track updates to branches, tags, or pinned to a specific version of manifests at a Git commit.
# Features
- automated deployment of applications to specified target environments
- support for multiple config management/templating tools (Kustomize, Helm, Ksonnet, Jsonnet, plain-YAML)
- ability to manage and deploy to multiple clusters
- SSO Integration (OIDC, OAuth2, LDAP, SAML 2.0, GitHub, GitLab, Microsoft, LinkedIn)
- multi-tenancy and RBAC policies for authorization
- rollback/Roll-anywhere to any application configuration committed in Git repository
- health status analysis of application resources
- automated configuration drift detection and visualization
- automated or manual syncing of applications to its desired state
- web UI which provides real-time view of application activity
- CLI for automation and CI integration
- webhook integration (GitHub, BitBucket, GitLab)
- access tokens for automation
- PreSync, Sync, PostSync hooks to support complex application rollouts (e.g.blue/green & canary upgrades)
- audit trails for application events and API calls
- Prometheus metrics
- parameter overrides for overriding ksonnet/helm parameters in Git