All eyes on AI: 2026 predictions – The shifts that will shape your stack.

Read now

Tutorial

Argo CD: What it is and why it should be part of your Redis CI-CD

February 26, 202611 minute read
TL;DR:
Argo CD is a declarative, GitOps-based continuous delivery tool for Kubernetes. It monitors a Git repository for changes to Kubernetes manifests and automatically syncs them to your cluster. In this tutorial you will install Argo CD, connect it to a Git repo containing Redis manifests, and deploy Redis to a local Kubernetes cluster—all without manually running kubectl apply.
Argo CD logo on a dark background

#What you'll learn

  • What Argo CD is and how it implements GitOps for Kubernetes
  • How to install and configure Argo CD on a local Kubernetes cluster
  • How to deploy a Redis application through Argo CD
  • How to deploy a multi-service voting app that uses Redis as a queue
  • How Argo CD keeps your cluster in sync with your Git repository

#What is Argo CD?

Argo CD is an open-source, declarative, GitOps continuous delivery tool built for Kubernetes. The name combines Argo—a CNCF-hosted container-native workflow engine—with CD (continuous delivery), the practice of automatically deploying every code change to a testing or production environment after the build stage.
Argo CD follows the GitOps methodology, which uses Git as the single source of truth for declarative infrastructure and application configuration. It watches a remote Git repository for new or updated manifest files and synchronizes those changes with the cluster. By managing manifests in Git and syncing them with the cluster, you get all the advantages of a Git-based workflow—version control, pull-request reviews, collaboration transparency—and a one-to-one mapping between what is in the Git repo and what is deployed in the cluster.
Argo CD empowers organizations to declaratively build and run cloud-native applications and workflows on Kubernetes using GitOps.
Argo CD user interface header bar showing navigation and status
Argo CD is a pull-based, declarative, GitOps continuous delivery tool for Kubernetes with a fully loaded UI. The tool reads your environment configuration from your Git repository and applies it to your Kubernetes namespaces. App definitions, environment, and configurations should be declarative and version-controlled. App deployment and life cycle management should be automated, auditable, and easy to understand.
Built specifically to make continuous deployment to Kubernetes simpler and more efficient, Argo CD addresses several common challenges: the need to set up additional tools outside of Jenkins for a complete CI/CD pipeline to Kubernetes, the need to configure access control to Kubernetes across cloud platforms, and the need for visibility into deployment status once a new app is pushed to a cluster.
Argo CD is not just deployed inside Kubernetes—it should be considered an extension of Kubernetes, as it uses existing Kubernetes resources and functionalities like etcd and controllers to store data and monitor real-time updates of application state. If you are already using Kubernetes to run Redis workloads (for example, via the Redis Kubernetes Operator), Argo CD is a natural next step for automating deployments.

#How does Argo CD work?

GitOps workflow diagram showing Argo CD pulling manifest changes from a Git repository into a Kubernetes cluster
Instead of pushing changes to the Kubernetes cluster, Argo CD pulls Kubernetes manifest changes and applies them. Once Argo CD is running inside your cluster, you configure it to connect and track a Git repository.
If any changes are detected, Argo CD applies those changes automatically to the cluster. Developers can commit code (for example, through Jenkins), which will automatically build a new image, push it to a container registry, and then update the Kubernetes manifest file. Argo CD pulls the updated manifest and deploys it—saving manual work, reducing the initial setup configuration, and eliminating security risks. Whatever manifest files are connected to the Git repo will be tracked and synced by Argo CD, providing a single flexible deployment tool for developers and DevOps teams.
Argo CD also watches the cluster for changes. If someone updates the cluster manually, Argo CD detects the divergence between the desired state in Git and the actual state in the cluster, then syncs the Git-defined state back to the cluster—guaranteeing that the Git repo remains the single source of truth. Argo CD can also be configured to send an alert instead of automatically overriding manual updates, if a quick direct change to the cluster is needed.

#What are Argo CD's capabilities?

Argo CD provides declarative, version-controlled application deployments with automatic monitoring and pulling of manifest changes from Git. Key capabilities include:
  • Easy rollback: Revert to a previous state without manually undoing every update in the cluster.
  • Web UI: A visual dashboard for monitoring and managing Kubernetes resources.
  • Multiple manifest formats: Supports Kubernetes YAML files, Helm Charts, Kustomize, and other templating tools that generate Kubernetes manifests.
  • CLI and metrics: A command-line interface, Grafana metrics dashboard, and audit trails for application events and API calls.
  • Disaster recovery: Point a new cluster to the Git repo and Argo CD will automatically recreate the same exact state—no manual intervention required.
  • Access control via Git: Configure who can commit merge requests and who can approve them, managing cluster access indirectly through Git. No need to give external tools like Jenkins direct access to cluster credentials.

#Prerequisites

Before you begin, make sure you have the following installed and configured:
  • Docker Desktop with Kubernetes enabled (Settings > Kubernetes > Enable Kubernetes)
  • kubectl configured to use the Docker Desktop context
  • Homebrew (macOS) for installing the Argo CD CLI

#Getting started

#Step 1. Install the Argo CD CLI

#Step 2. Create a new namespace

Create a namespace called argocd where all Argo CD resources will be installed.

#Step 3. Install Argo CD resources

#Step 4. Ensure that all pods are up and running

#Step 5. Configure port forwarding for dashboard access

Argo CD login screen with username and password fields

#Step 6. Log in

Argo CD dashboard showing an empty application list after first login

#Step 7. Install Argo CD CLI on Mac using Homebrew

#Step 8. Access the Argo CD API server

By default, the Argo CD API server is not exposed with an external IP. To access the API server, choose one of the following techniques to expose the Argo CD API server:

#Step 9. Log in to Argo CD

#Step 10. Update the password

#Step 11. Register a cluster to deploy apps to

As we are running it on Docker Desktop, we will add it accordingly.

#Step 12. Create a new Redis application

Click "Create" and provide a repository URL as https://github.com/argoproj/argo-cd/tree/master/manifests/base/redis.
Argo CD new application form with fields for app name, project, and sync policy
Argo CD application source settings showing the Git repository URL and path to Redis manifests
Argo CD resource tree view showing Redis deployment, service, and pod resources
Argo CD application detail view showing Healthy sync status and resource summary for Redis
Detailed view of a Redis pod resource node showing status, labels, and metadata in Argo CD

#Step 13. Delete the Redis app

#Example: Voting app

Architecture diagram of the voting application showing data flow between Python, Redis, .NET, Postgres, and Node.js components
Let's try to deploy a voting app. The voting application only accepts one vote per client. It does not register votes if a vote has already been submitted from a client.
Component list for the voting application with technology stack labels for each service
  • A Python web app which lets you vote between two options
  • A Redis queue that collects new votes
  • A .NET worker which consumes votes and stores them in…
  • A Postgres database backed by a Docker volume
  • A Node.js web app that shows the results of the voting in real time
Go to the Argo CD dashboard, enter the repository URL, and supply the right PATH. Click "Create App" to deploy the application on your Docker Desktop.
Voting application deployed in Argo CD with resource nodes grouped by type showing deployments, services, and pods
Next, visualize the complete application by choosing "Group by Node."
Voting application resources grouped by parent resource in the Argo CD resource tree
Grouping by parent resources:
Events panel in Argo CD showing deployment, sync, and health-check activity logs for the voting app
Keep a close watch over the events by clicking on the "Events" section.
Overview of all voting application resources in Argo CD showing services, deployments, and replica sets
Below is the complete overview of the voting application.
Full resource graph for the voting application in the Argo CD UI with all nodes expanded
Access the app via http://localhost:31000/.
Voting application frontend showing two voting options with a submit button
The results are accessible via http://localhost:31001/.
Voting results page showing real-time vote counts and percentages

#Next steps

Now that you have Argo CD deploying Redis applications to your Kubernetes cluster, here are some areas to explore next:
  • Redis Kubernetes Operator: Learn how to manage Redis clusters on Kubernetes with the Redis Kubernetes Operator tutorial.
  • Auto-sync policies: Configure Argo CD to automatically sync changes without manual intervention using auto-sync policies.
  • Health checks: Set up custom health checks so Argo CD can verify that your Redis deployment is serving traffic correctly.
  • Notifications: Configure Argo CD Notifications to send alerts to Slack, email, or other channels when deployments succeed or fail.