helm-operator-plugins icon indicating copy to clipboard operation
helm-operator-plugins copied to clipboard

Add annotation to override or adding Helm values

Open SimonBaeumer opened this issue 4 years ago • 5 comments

Sometimes it is necessary to override Helm values which are not set by the Operator if used with a Custom Resource.

In our case the custom resource abstracts the Helm values and differentiates. Nevertheless our Helm charts provides more options than the CR thus necessary to add overrides to adjust Helm values directly (or disabling auto-sensing for specific values).

Proposal

Add operators.operatorframework.io.helm-operator-plugins.value-override/path.to.helm.key=value annotation which overrides the value.

Optional adding an option which disables this annotation to override Helm values.

SimonBaeumer avatar Feb 19 '22 18:02 SimonBaeumer

We are wondering why we would need to take this path, rather than simply adding these values to the CRD?

@joelanford suggested that the operator author could make use of the value translator interface, so custom annotations can be read by the operator that way, but it we will need a good use case to accept this in the helm plugin.

asmacdo avatar Feb 22 '22 16:02 asmacdo

@SimonBaeumer @asmacdo any other information on this issue?

jmrodri avatar Mar 08 '22 16:03 jmrodri

I'm going to close for now, please reopen if this is still needed.

asmacdo avatar Apr 28 '22 18:04 asmacdo

This is necessary when a Helm chart has more options than the operator's CRD. This happens often when an existing Helm chart is used to install the operand. Today we faced an incident where we needed to pause the reconciler and adjust k8s resources manually for a timeout change which was not exposed in the CRD.

For us the difference is mostly that this is a break-glass mechanism used for support & cloud teams to implement hot-fixes without a new operator image.

SimonBaeumer avatar Feb 21 '23 13:02 SimonBaeumer

@asmacdo Can you reopen this issues please?

SimonBaeumer avatar Feb 21 '23 13:02 SimonBaeumer