
What is Argo CD? And why do our engineers love it?
The landscape of cloud-native technologies now includes more than nine hundred providers. In this blog post, we'll zoom in on Argo CD, a GitOps tool for Continuous Integration, Continuous Delivery, and Continuous Deployment (CI/CD). This blog answers the most important questions: What is Argo CD? Why should you use this tool? What use cases does Argo CD support? Additionally, we describe why we offer Argo CD as a standard with Managed Kubernetes.

What is Argo CD?
Argo CD is part of the Argo Project by Intuit. It's a GitOps tool for Continuous Delivery for Kubernetes (k8s). At the core of Argo CD, you'll find the application controller. This component monitors applications and compares the live status with the desired target state defined in the Git repository. The tool supports numerous ways to define your application, including:
- Kustomize applications
- Helm charts
- Ksonnet applications
- Jsonnet applications
The architecture of Argo CD looks like this:
Argo CD follows the GitOps pattern. This treats a Git repository as the "source of truth" for defining the desired application state. Argo CD helps you implement the different states in your specified target environment. The term "manifest" is often mentioned here. A manifest specifies the desired state of an object. Kubernetes will maintain this object when you apply the manifest. It's important to know that each configuration file can contain multiple manifests.
Actively monitor the live status of your application
Argo CD is implemented as a Kubernetes controller that continuously monitors active applications and compares the current live status with the desired target state. If the live status of a deployed application differs from the target state, it's considered "OutOfSync." This means the cluster currently doesn't reflect the master branch of the repository.
Argo CD reports and visualizes the differences and provides facilities to automatically or manually resynchronize the live status back to the desired target state. Any changes to the desired target state in the Git repository can be automatically applied and displayed in the specified target environments.
Why should you use Argo CD?
Intuit wanted Argo CD to meet the need for a fast and reliable continuous delivery service to implement hundreds of microservices simultaneously. A key advantage is that you can use this GitOps tool for multiple purposes.
The main reasons for developing Argo CD were:
- Application configuration and their deployment environments should be declarative and have version control.
- Application deployment and lifecycle management should be simple, automated, and auditable.
- Application deployment should be fast, reliable, and idempotent.
- Any deviation from a version-controlled configuration should be immediately detected and remediable.
- Rollbacks should be as simple as deploying another configuration.
- Being able to gain insight into your k8s projects in an organized and user-friendly way.
Video: Argo CD demo
In a demo by Jesse Suen, Argo CD is explained in just under 41 minutes:
What use cases does Argo CD support?
To perform its tasks properly, the application controller must take several actions: retrieve the desired resource manifests from Git, load the corresponding live resources from the actual Kubernetes clusters, compare the two, and the corresponding Kubernetes Custom Resources (CRD). This CRD shows the desired state for a specific Argo CD cluster and enables the configuration of the components that make up an Argo CD cluster.
Argo CD supports the following user scenarios:
Use case #1 – Automated deployment
The application controller automatically pushes the desired application state to the cluster. This can be a response to a Git commit, a trigger from a CI pipeline, or a manual user request.
Use case #2 – Application monitoring
With Argo CD, developers can quickly see if the application state is synchronized with the desired state. Argo CD can be used via a command line interface (CLI). This helps you monitor your application and quickly find differences between the desired and current live state.
Use case #3 – Performance monitoring
In the Argo CD user interface, you can see the complete hierarchy of all your application resources. This doesn't stop at just the top-level resources within your Git repository. Developers can, for example, see ReplicaSets and Pods that have been produced by the deployment defined in Git. Additionally, you can quickly see Pod logs and the associated Kubernetes events. This makes Argo CD a very powerful multi-cluster dashboard.
Managed Argo CD at TrueFullstaq
In this article, we've described what Argo CD is and how you can use it to monitor your Kubernetes ecosystem.
Our own Kubernetes specialists are also fans of Argo CD, which is why we've included it as standard in our Managed Kubernetes proposition. With ArgoCD, we offer you the ability to manage application deployments via git, better known as the GitOps methodology. The user-friendly UI provides a status overview of all deployments and enables developers to quickly and successfully roll out, roll back, and adjust applications, without requiring in-depth knowledge of K8S tooling.