github.com/argoproj/argo-cd@v1.8.7/docs/index.md (about)

     1  # Overview
     2  
     3  <!-- markdownlint-disable MD026 -->
     4  ## What Is Argo CD?
     5  <!-- markdownlint-enable MD026 -->
     6  
     7  Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
     8  
     9  ![Argo CD UI](assets/argocd-ui.gif)
    10  
    11  <!-- markdownlint-disable MD026 -->
    12  ## Why Argo CD?
    13  <!-- markdownlint-enable MD026 -->
    14  
    15  Application definitions, configurations, and environments should be declarative and version controlled.
    16  Application deployment and lifecycle management should be automated, auditable, and easy to understand.
    17  
    18  ## Getting Started
    19  
    20  ### Quick Start
    21  
    22  ```bash
    23  kubectl create namespace argocd
    24  kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
    25  ```
    26  
    27  Follow our [getting started guide](getting_started.md). Further user oriented [documentation](user-guide/)
    28  is provided for additional features. If you are looking to upgrade ArgoCD, see the [upgrade guide](./operator-manual/upgrading/overview.md).
    29  Developer oriented [documentation](developer-guide/) is available for people interested in building third-party integrations.
    30  
    31  ## How it works
    32  
    33  Argo CD follows the **GitOps** pattern of using Git repositories as the source of truth for defining
    34  the desired application state. Kubernetes manifests can be specified in several ways:
    35  
    36  * [kustomize](https://kustomize.io) applications
    37  * [helm](https://helm.sh) charts
    38  * [ksonnet](https://ksonnet.io) applications
    39  * [jsonnet](https://jsonnet.org) files
    40  * Plain directory of YAML/json manifests
    41  * Any custom config management tool configured as a config management plugin
    42  
    43  Argo CD automates the deployment of the desired application states in the specified target environments.
    44  Application deployments can track updates to branches, tags, or pinned to a specific version of
    45  manifests at a Git commit. See [tracking strategies](user-guide/tracking_strategies.md) for additional
    46  details about the different tracking strategies available.
    47  
    48  For a quick 10 minute overview of Argo CD, check out the demo presented to the Sig Apps community
    49  meeting:
    50  [![Alt text](https://img.youtube.com/vi/aWDIQMbp1cc/0.jpg)](https://youtu.be/aWDIQMbp1cc?t=1m4s)
    51  
    52  ## Architecture
    53  
    54  ![Argo CD Architecture](assets/argocd_architecture.png)
    55  
    56  Argo CD is implemented as a kubernetes controller which continuously monitors running applications
    57  and compares the current, live state against the desired target state (as specified in the Git repo).
    58  A deployed application whose live state deviates from the target state is considered `OutOfSync`.
    59  Argo CD reports & visualizes the differences, while providing facilities to automatically or
    60  manually sync the live state back to the desired target state. Any modifications made to the desired
    61  target state in the Git repo can be automatically applied and reflected in the specified target
    62  environments.
    63  
    64  For additional details, see [architecture overview](operator-manual/architecture.md).
    65  
    66  ## Features
    67  
    68  * Automated deployment of applications to specified target environments
    69  * Support for multiple config management/templating tools (Kustomize, Helm, Ksonnet, Jsonnet, plain-YAML)
    70  * Ability to manage and deploy to multiple clusters
    71  * SSO Integration (OIDC, OAuth2, LDAP, SAML 2.0, GitHub, GitLab, Microsoft, LinkedIn)
    72  * Multi-tenancy and RBAC policies for authorization
    73  * Rollback/Roll-anywhere to any application configuration committed in Git repository
    74  * Health status analysis of application resources
    75  * Automated configuration drift detection and visualization
    76  * Automated or manual syncing of applications to its desired state
    77  * Web UI which provides real-time view of application activity
    78  * CLI for automation and CI integration
    79  * Webhook integration (GitHub, BitBucket, GitLab)
    80  * Access tokens for automation
    81  * PreSync, Sync, PostSync hooks to support complex application rollouts (e.g.blue/green & canary upgrades)
    82  * Audit trails for application events and API calls
    83  * Prometheus metrics
    84  * Parameter overrides for overriding ksonnet/helm parameters in Git
    85  
    86  ## Development Status
    87  
    88  Argo CD is being actively developed by the community. Our releases can be found [here](https://github.com/argoproj/argo-cd/releases).
    89  
    90  ## Adoption
    91  
    92  Organizations who have officially adopted Argo CD can be found [here](https://github.com/argoproj/argo-cd/blob/master/USERS.md).