You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kubernetes labels are immutable. Thus, having non-stable labels (such as a version) is very problematic when upgrading.
This should be part of the same effort as:
Here is a real use-case for which this label is highly problematic. I have a kubernetes operator built with Java Operator SDK. Having those changing labels (especially the version) makes it impossible to use the Operator Framework: when upgrading through operator framework, the InstallPlan fails with "field is immutable". (see operator-framework/operator-lifecycle-manager#1608).
I was able to avoid the issue by setting quarkus.kubernetes.add-version-to-label-selectors=false which incidentally removed the version label, but this behaviour has changed in #30100 . It now still adds the version label, just not uses it in the selector... I cannot find another workaround, and believe that the ability to control the labels added is useful in many cases.
Implementation ideas
Possible implementations were already proposed for annotations, which could be reused for labels as well (see #15473)
The text was updated successfully, but these errors were encountered:
[x] Added new property `quarkus.kubernetes.idempotent=true` to avoid producing non idempotent resources.
[x] Added new property `quarkus.kubernetes.output-directory` to select the target directory where to generate the resources.
Fixquarkusio#26928Fixquarkusio#15473Fixquarkusio#31296
Description
Kubernetes labels are immutable. Thus, having non-stable labels (such as a version) is very problematic when upgrading.
This should be part of the same effort as:
Here is a real use-case for which this label is highly problematic. I have a kubernetes operator built with Java Operator SDK. Having those changing labels (especially the version) makes it impossible to use the Operator Framework: when upgrading through operator framework, the
InstallPlan
fails with "field is immutable". (see operator-framework/operator-lifecycle-manager#1608).I was able to avoid the issue by setting
quarkus.kubernetes.add-version-to-label-selectors=false
which incidentally removed the version label, but this behaviour has changed in #30100 . It now still adds the version label, just not uses it in the selector... I cannot find another workaround, and believe that the ability to control the labels added is useful in many cases.Implementation ideas
Possible implementations were already proposed for annotations, which could be reused for labels as well (see #15473)
The text was updated successfully, but these errors were encountered: