Skip to main content
All of the catalog
Scenario

GitOps & CI/CD (ArgoCD)

Run a real GitOps loop against a Git repository you can actually push to. The lab serves its own repo in-cluster; ArgoCD reconciles it. You clone it, change the declared image and replica count, push, and watch the cluster follow, then prove the three things that make GitOps different from kubectl: self-heal reverts a change you make by hand, prune deletes a resource you remove from Git, and a release that syncs perfectly can still be broken - the lab ships one that is, and you repair it in Git.

DeliveryVerifiedk3dkind
Definition on GitHub

What you'll do

  • Read an Application CRD as a contract: a Git path bound to a cluster destination
  • Clone the repository ArgoCD actually watches, over a port-forward to the in-cluster Git server
  • Change declared state in Git, bump the image tag and the replica count, commit and push it
  • Watch ArgoCD reconcile your commit into the cluster without you touching the cluster
  • Prove self-heal: scale the Deployment with kubectl and watch ArgoCD revert you
  • Prove prune: delete a manifest from Git and watch the resource leave the cluster
  • Diagnose a failed sync from the Application's conditions and repair it in Git

Stages

  1. 1gitops-controller

    Make sure ArgoCD is running, adopting the platform's release if it already is

    argocd
  2. 2git-source

    Serve the lab's own Git repository in-cluster, seeded with the demo app's manifests

    git-server
  3. 3gitops-telemetry

    Scrape ArgoCD's controller, server and repo-server metrics, and plot sync state

    argocd-servicemonitorsgitops-dashboard
  4. 4bind-application

    Point ArgoCD at the lab repo and wait for the first reconcile

    gitops-demo-app

Prerequisites

--deploy-prereqs installs these into the lab for you. They are listed so you know what the scenario depends on.

ingressgitops/argocdmonitoring/metricsmonitoring/grafana

Get updates

New scenarios and faults, release notes, and news about hosted labs if and when there is some. A few emails a month at most.

We'll email you about new releases, new lab content and paid offerings such as hosted labs, courses and workshops. Unsubscribe any time.