2019-01-03 23:16:08 +00:00
[](https://argoproj.github.io/community/join-slack)
[](https://codecov.io/gh/argoproj/argo-cd)
2018-12-28 05:05:59 +00:00
2018-07-18 01:03:54 +00:00
# Argo CD - Declarative Continuous Delivery for Kubernetes
2018-03-08 08:41:29 +00:00
## What is Argo CD?
2018-07-30 23:13:54 +00:00
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
2018-07-18 01:03:54 +00:00

2018-03-08 08:41:29 +00:00
## 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.
2019-04-03 05:27:54 +00:00
## Who uses Argo CD?
Organizations below are **officially** using Argo CD. Please send a PR with your organization name if you are using Argo CD.
1. [Intuit ](https://www.intuit.com/ )
2019-04-05 14:34:09 +00:00
2. [Yieldlab ](https://www.yieldlab.de/ )
2019-04-03 05:27:54 +00:00
2018-03-09 00:05:16 +00:00
## Getting Started
2018-12-28 05:05:59 +00:00
### Quickstart
```bash
kubectl create namespace argocd
2019-01-11 04:56:04 +00:00
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
2018-12-28 05:05:59 +00:00
```
2018-07-18 01:03:54 +00:00
Follow our [getting started guide ](docs/getting_started.md ). Further [documentation ](docs/ )
is provided for additional features.
2018-03-09 00:05:16 +00:00
2018-03-08 08:41:29 +00:00
## How it works
2018-07-27 23:51:44 +00:00
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:
2018-09-05 05:31:21 +00:00
* [kustomize ](https://kustomize.io ) applications
2018-07-27 23:51:44 +00:00
* [helm ](https://helm.sh ) charts
2019-02-02 09:42:48 +00:00
* [ksonnet ](https://ksonnet.io ) applications
* [jsonnet ](https://jsonnet.org ) files
* Plain directory of YAML/json manifests
2019-03-04 07:19:09 +00:00
* Any custom config management tool configured as a config management plugin
2018-03-08 08:41:29 +00:00
2018-07-27 23:51:44 +00:00
Argo CD automates the deployment of the desired application states in the specified target environments.
2018-11-05 19:29:01 +00:00
Application deployments can track updates to branches, tags, or pinned to a specific version of
2018-04-23 01:57:22 +00:00
manifests at a git commit. See [tracking strategies ](docs/tracking_strategies.md ) for additional
details about the different tracking strategies available.
2018-11-05 19:29:01 +00:00
For a quick 10 minute overview of Argo CD, check out the demo presented to the Sig Apps community
2018-09-10 23:08:08 +00:00
meeting:
[](https://youtu.be/aWDIQMbp1cc?t=1m4s)
2018-07-27 23:51:44 +00:00
## Architecture

2018-03-08 08:41:29 +00:00
Argo CD is implemented as a kubernetes controller which continuously monitors running applications
2018-03-08 23:20:45 +00:00
and compares the current, live state against the desired target state (as specified in the git repo).
2018-07-27 23:51:44 +00:00
A deployed application whose live state deviates from the target state is considered `OutOfSync` .
Argo CD reports & visualizes the differences, while providing facilities to automatically or
2018-03-08 23:20:45 +00:00
manually sync the live state back to the desired target state. Any modifications made to the desired
target state in the git repo can be automatically applied and reflected in the specified target
environments.
2018-04-23 01:57:22 +00:00
For additional details, see [architecture overview ](docs/architecture.md ).
2018-03-08 08:41:29 +00:00
## Features
* Automated deployment of applications to specified target environments
2019-02-02 09:42:48 +00:00
* 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
2018-07-18 01:03:54 +00:00
* Automated or manual syncing of applications to its desired state
2019-02-02 09:42:48 +00:00
* 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
2018-07-18 01:03:54 +00:00
* PreSync, Sync, PostSync hooks to support complex application rollouts (e.g.blue/green & canary upgrades)
2018-07-30 23:13:54 +00:00
* Audit trails for application events and API calls
2019-02-02 09:42:48 +00:00
* Prometheus metrics
2018-07-27 23:51:44 +00:00
* Parameter overrides for overriding ksonnet/helm parameters in git
2018-03-08 08:41:29 +00:00
2019-01-15 08:02:02 +00:00
## Community Blogs and Presentations
2019-02-14 17:42:00 +00:00
* GitOps with Argo CD: [Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager ](https://www.ibm.com/blogs/bluemix/2019/02/simplify-and-automate-deployments-using-gitops-with-ibm-multicloud-manager-3-1-2/ )
2019-01-15 08:02:02 +00:00
* KubeCon talk: [CI/CD in Light Speed with K8s and Argo CD ](https://www.youtube.com/watch?v=OdzH82VpMwI&feature=youtu.be )
* KubeCon talk: [Machine Learning as Code ](https://www.youtube.com/watch?v=VXrGp5er1ZE&t=0s&index=135&list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU )
* Among other things, desribes how Kubeflow uses Argo CD to implement GitOPs for ML
* SIG Apps demo: [Argo CD - GitOps Continuous Delivery for Kubernetes ](https://www.youtube.com/watch?v=aWDIQMbp1cc&feature=youtu.be&t=1m4s )
2018-12-28 05:05:59 +00:00
## Project Resources
* Argo GitHub: https://github.com/argoproj
* Argo Slack: [click here to join ](https://argoproj.github.io/community/join-slack )
* Argo website: https://argoproj.github.io/
2018-03-08 08:41:29 +00:00
## Development Status
2018-12-28 05:05:59 +00:00
* Argo CD is actively developed and is being used in production to deploy SaaS services at Intuit
2018-03-08 08:41:29 +00:00
## Roadmap
2018-12-06 01:07:13 +00:00
2019-03-23 04:02:20 +00:00
### v0.13
* See: https://github.com/argoproj/argo-cd/milestone/12