argo-cd icon indicating copy to clipboard operation
argo-cd copied to clipboard

Self-Healing Independent of Auto-sync

Open Dymanik opened this issue 5 years ago • 2 comments

Summary

Self-Healing is currently tied to automatic sync being enabled. We would like to be able to enable Self-Healing on the last commit synced, while still allowing to manual sync.

Motivation

We would like to be able to override manual configuration/intervention made on the cluster, self-healing on the last commit synced. While still maintaining automatic sync disabled so we can use argocd rollback capability, and require an explicit sync action by a trusted source.

Proposal

Self-healing should be tied to that last know commit synced, so that even though there are new commits on the target ref (when using branches or a moving tag), the self-healing feature tries to keep cluster state in sync with it's last known commit synced.

Dymanik avatar Sep 23 '20 19:09 Dymanik

I think this use case is valid. Is there no further interest in this from anybody else? Seems the issues is open for 5 years.

CiucurDaniel avatar Jun 02 '25 11:06 CiucurDaniel

afaik there's no deep architectural or conceptual reason this can't work. My guess is that the self-heal code is currently very intertwined with automatic syncs, so that might require disentanglement.

We recently added a spec.syncOptions.automated.enalbed field which can be set to false so that selfHeal may be simultaneously set to true. But that just solves the yaml structure problem, it doesn't actually implement the feature.

crenshaw-dev avatar Jun 02 '25 14:06 crenshaw-dev