CertGrid CertGrid
Hands-on Lab·Kubernetes and Cloud Native Associate

GitOps Self-Heal and Prune

Scale a managed Deployment by hand and the change is gone before the next command runs. Then create a ConfigMap in the same namespace and watch prune leave it completely alone.

Delivery and GitOps Guide 44 of 46 Intermediate

The stable manifests move. The behaviour shown here - the annotation limit, self-heal, prune scope - is not version specific.

Argo CD runs in the cluster it deploys to. Nothing here needs an ingress or a LoadBalancer - the server Service stays ClusterIP.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

This guide includes

Use this when a manual change to a GitOps-managed workload vanishes, and you need to know what else will and will not be reverted. This matters because self-heal reverts what Argo CD manages while prune ignores what it never created, and that boundary is not obvious until you cross it.

Before you start

  1. Try to scale it

  2. Patch it, same result

  3. Prune only touches what it manages

Official sources