website icon indicating copy to clipboard operation
website copied to clipboard

Helm Releases - Drift detection based on k8s server dry-run (but not on SSA)

Open antaloala opened this issue 10 months ago • 2 comments

Drift detection chapter in Flux HelmRelease documentation currently says:

When .spec.driftDetection.mode is set to warn or enabled, and the desired state of the HelmRelease is in-sync with the Helm release object in the storage, the controller will compare the manifest from the Helm storage with the current state of the cluster using a server-side dry-run apply.

Is it not a mistake? the HelmRelease drift-detection feature introduced in Flux 2.2 is, as far as I understand, based on k8s server-side dry-run but not on Server-Side Apply/SSA.

antaloala avatar Apr 18 '24 08:04 antaloala

Or is maybe the helm-controller running a SSA with "dry-run" request (towards the k8s API server) for each and every of the (rendered) manifests retrieved from the sh.helm.release.v1.<name-of-Helm-release>.v<latest Helm release revision> k8s Secret API object ... and so discarding manual modifications applied on fields for which the rendered Helm charts manifests are not having any opinion?

antaloala avatar Apr 18 '24 15:04 antaloala

Or is maybe the helm-controller running a SSA with "dry-run" request (towards the k8s API server) for each and every of the (rendered) manifests retrieved from the sh.helm.release.v1.<name-of-Helm-release>.v<latest Helm release revision> k8s Secret API object

Yes this is the current behavior.

souleb avatar Apr 19 '24 11:04 souleb