What is ArgoCD?

Argo CD is a declarative continuous delivery tool for Kubernetes applications. It uses the GitOps style to create and manage Kubernetes clusters. When any changes are made to the application configuration in Git, Argo CD will compare it with the configurations of the running application and notify users to bring the desired and live state into sync.

Argo CD has been developed under the Cloud Native Computing Foundation’s (CNCF) Argo Project- a project, especially for Kubernetes application lifecycle management. The project also includes Argo Workflow, Argo Rollouts, and Argo Events.. Each solves a particular set of problems in the agile development process and make the Kubernetes application delivery scalable and secure.

Request a Demo

Argo CD Features

Automatic deployment

Automatic deployment

Use Argo CD to automate your application deployment process into Kubernetes. Argo CD supports deployment into multiple clusters hosted on a public cloud (AWS/GCP/Azure) or on-prem data center.

GitOps style deployment

GitOps style deployment

Achieve GitOps style software delivery with ease. Declare the desired state of an application or any infrastructure resources in Git, and Argo CD will automatically synchronize the application configuration to the currently declared state.

Deployment Strategies

Deployment Strategies

Quickly rollback any applications to any previous versions in Git. You can implement advanced deployment strategies such as Canary and Blue-Green by integrating Argo CD with Argo Rollouts or Spinnaker.

Single sign-on authentication

Single sign-on authentication

Easily enable access for your teams to Argo CD with built-in integrations for SSO providers such as OIDC, OAuth2, LDAP, SAML 2.0, GitHub, GitLab, Microsoft, and LinkedIn.

RBAC and Multitenancy

RBAC and Multitenancy

Argo CD provides Role-based access control (RBAC) to manage the authorization of teams to specific services and clusters. For large projects, it is handy for the DevOps team to apply various restrictions (read/write) on Argo CD CRDs.

Deployment Issues

Deployment Issues

Ability to visualize deployment issues, detect and remediate configuration drift in your applications

Extensible and Support

Extensible and Support

Argo CD supports webhooks integrations with GitLab, GitHub, and BitBucket. It also supports config management and templating tools such as plain YAML, Helm charts, Jsonnet, and Kustomize.

CLI

CLI

Web user interface and command-line interface (CLI) for configuring and getting real-time activity of application deployments.

Deployments Made Easy

  • Accelerate new application provisioning speed by 90%
  • Reduce production errors and outages by 80%
  • Improve deployment success rates to 99%
  • Reduce diagnostics time by 30%

How to achieve GitOps using Argo CD?

Every enterprise uses Git as its source code management software to store code. Developers can commit their infrastructure configurations, such as Kubernetes resources definition, in Git to create environments needed for application deployment. Once a developer implements a feature ( with a new application and K8S configurations) and merges with the main branch, the CI process is initiated for generating and testing an image. After the review and approval of the application, the pull request in Git is merged with the main branch. With the help of the GitOps agent, Argo CD will immediately identify the new versions of a configuration that was recently merged and compare it with the running application in the destination environment (it can be pre-prod or prod). In case of a mismatch, it highlights out-of-sync status, and in the backend, Argo CD uses the Kubernetes controller to reconcile the new changes to cluster resources. Once the Kubernetes resources are ready, it informs the user the application is in sync. Argo CD also uses an agent to constantly monitor the end environment and check its status with Git. Argo CD synchronizes the current state with the declared state of configurations and ensures that new configurations are correctly deployed to a Kubernetes cluster.

As all the records of all changes, including all details of the environment, at every stage of the process are stored in Git, Argo CD helps roll back applications to previous states in a single click.

Argo CD architecture overview

Platform engineers and DevOps folks use various techniques to define Kubernetes manifest files such as YAML, Ksonnet, Jsonnet files, Helm charts, and Kustomize. Argo CD application provides the capability to track any type of Kubernetes manifest. It can follow updates to branches, tags or pinned to a specific version of manifests at a Git commit. Argo CD automatically deploys the desired state of an application in a specified target environment. Updates are traceable as tags, branches, or pinned specific versions of a manifest at Git commits.

Argo CD control plane consists of three essential components- Application Controller, API Server, and Repository Service.

Application Controller

The application controller is a Kubernetes controller responsible for monitoring applications in the running environment with the desired state configured in Git. It detects out-of-sync status between the running environment and Git and notifies DevOps engineers.

Repository Server

The repository server of Argo CD is an internal service that maintains a local cache of the Git repo. On providing the input, such as repository URL, Git revisions( branch, tags), application path, and template-specific settings, the server generates Kubernetes manifests.

API Server

The API server is the gRPC/REST server, which provides API endpoints to Argo web UI and CLI, and other CI/CD systems. The APIs are primarily used to carry out functionalities such as application deployment and management, executing rollback or any user-defined actions, storing K8S cluster credentials, handling AuthN/Z for security and compliance, etc.

Operations and business benefits

Improve developer productivity

Improve developer productivity

Argo CD provides developers with a self-service environment for application deployment. Software development teams can focus on creativity and writing business logic instead of time and energy on manual and remedial deployments.

Cut costs

Improved software delivery compliance

Allow your developers, Ops, and DevOps teams to use a single platform for infrastructure change management. Apply organizational policies to restrict access to Kubernetes resources and minimize your application downtime and outages.

Cut costs
Increased collaboration in SDLC

Increased collaboration in SDLC

While working on Argo CD, every team member can work from the same system to achieve GitOps and understand the status of individual processes. The single Git repository fosters collaboration amongst team members by assigning tasks to individuals and deploying code from each person as necessary.

Createaseamless

Faster deployments

Argo CD allows teams to perform more rapid deployments into Kubernetes clusters across multi-cloud. Quicker releases of application changes mean shorter time to market and more flexibility in responding to customer demand.

Faster deployments
Reduce risks

Reduce risks

DevOps teams can now collaborate with developers and operations to quickly identify and correct errors within a given time. Each change can be tracked using merge requests, and rollbacks can be easy if new versions don’t work. Argo CD allows teams to roll back to the previous state if newer versions experience errors in production. As a result, teams can reduce the risk of application.

More resource on Argo CD

what is argocd

Progressive delivery

Use Argo CD to mitigate risks in the production environment using deployment strategies and automated rollback mechanisms.

what is argocd

Canary with Kustomize

Already using Kustomize for deployments, learn how to leverage Argo CD to use Kustomize manifests for canary release.

Enterprise Argo

Want to implement Argo CD without any hassle and deploy into Kubernetes using GitOps style?

No-excuses-support

Need help

If you are using Argo CD and need help for faster adoption, then please feel free to reach out to our experts.

Keep up to date with OpsMx

Be the first to hear about the latest product releases, collaborations and online exclusive.