In this article, we will show you how to connect ArgoCD and Codefresh so that you get the full observability experience for GitOps. ArgoCD provides the underlying deployment mechanism and Codefresh the visual dashboard to provide high-level information for deployments.
Before you start
We assume that the following are in place
- You already have set up a Kubernetes cluster; using a cloud provider is the easiest method
- You have Installed the ArgoCD server on the cluster
- You have created a free Codefresh account
- You have installed locally the Codefresh CLI
What is Gitops
GitOps is a way to do Kubernetes cluster management and application delivery. It works by using Git as a single source of truth for declarative infrastructure and applications, together with tools ensuring the actual state of infrastructure and applications converges towards the desired state declared in Git.
Codefresh has recently announced the Gitops 2.0 initiative that improves the observability of your environment deployments.
By observability, we define the capability to inspect the actual running state of the system right now. We observe the running system in order to understand it and control it.
If you already use GitOps you know that current tools have difficulties with the following issues:
- No visibility on what JIRA issues were delivered to the environment
- Missing build and image details that were delivered in the specific rollout
- Understanding the transition between services during a time
- Limited ability to see all failed rollouts during a time period
Bringing Codefresh and ArgoCD together
Codefresh is a Continuous Integration and Delivery platform built for Docker from the ground up. It helps companies automate their Docker workflows and streamline the lifecycle of Docker images (build, run, test, deploy).
Setting up the Codefresh Gitops Dashboard
The new GitOps dashboard in Codefresh is powered by ArgoCD. To set up the integration you need to install the ArgoCD-agent in your cluster.
Installation of the agent happens via the Codefresh CLI. You can find more details in the GitOps integration page.
Once you complete your ArgoCD agent installation you should see the health status of your agent on GitOps integration page:
With the Installation of the agent completed, we can now go to the GitOps page and add our first GitOps application:
Once we have added our first application we can see that all cluster information is synchronized with your ArgoCD server and we can open any GitOps application to check its details.
On this dashboard, you can see all relevant JIRA issues, pull requests, and transitions for a specific service during a rollout.
If the container image that you deliver was built with Codefresh you can also see more detailed information.
The Codefresh GitOps dashboard will help you observe:
- All broken releases during a date range
- Who is the author of specific rollouts
- How much your team delivery quality is improving over time
- Which PRs and Issues were delivered in a specific rollout
If you need to do a rollback you can do it directly from the Codefresh GitOps dashboard:
Once the rollback complete we can see that our service transition shows that we are back to the old image:
In the services tab, you can see which services are currently running on your environment.
The role of the GitOps dashboard is to enable observation and speed up understanding and validation of the system.
Rather than inventing the wheel again, the new dashboard is based on the battle-tested ArgoCD platform which takes care of the low-level deployment details.
New to Codefresh? Create Your Free Account today!