How do I manually trigger the FluxCD (v2) Helm Controller to re-apply a named HelmRelease
, without flux
restoring that HelmRelease
to match the version stored in git?
Normally (for GitOps), we would want flux
to maintain our infrastructure (kubernetes cluster resources) so as to stay in sync with our code (git repo) and to remediate any drift that occurs. But occasionally for debugging it is useful to quickly test a series of changes (by directly editing a cluster resource) without making any commits in git. For other kinds of resource we can do this by temporarily suspending flux
reconciliation, but for HelmReleases how do we force the FluxCD Helm Controller to make downstream resources match the HelmRelease
?
In flux 2, one way to manually trigger a reconciliation (without needing to make a commit, e.g. to remove any drift) is to use the
flux
CLI to firstsuspend
and thenresume
reconciliation of the resource (i.e., of the Kustomization or HelmRelease).Typically, a HelmRelease might be deployed from the repo via a Kustomization. In that case, you could try suspending the
ks
, live editing thehr
, then even suspending and resuming reconciliation of thehr
only.Rather than relying solely on live edits for debugging, a different approach is to reconfigure the resource to be synced from a private repo branch. The experimental changes can then be performed by pushing to that branch, and afterward the resource can be restored to sync from the original repo again (and the private branch can be deleted, or squashed into a pull request).