Flux runtime view should show the version of Flux
My hypothesis is that more beginner users of Flux will have a greater appreciation of the version of Flux used to install/bootstrap their cluster, rather than the individual controller versions which are installed.
More advanced users may customize this of course, but I believe this would offer a greater "at a glance" value than the controller image versions.
This information is available on the deployments/pods via the label app.kubernetes.io/version=v0.34.0, and is present if the user has performed flux install or flux bootstrap.
I would propose an additional column of Flux Version (to be explicit that it is not the individual controller version) and to display the value of the above label or - if not found.
I think that would be a great addition to the UI, something like "this cluster runs Flux x.y.z". I always wondered whether there was a single source of truth but I figure there isn't so we can just consume one of the Deployment's labels and assume people wouldn't usually mix components from different Flux versions.
What about the app.kubernetes.io/version annotation on the flux-system Namespace?
Would the ns based approach be significantly simpler or more performant @bigkevmcd ? If so I'd agree with Max that its fairly uncommon to mix versions on a single cluster so happy with either for this change. In Enterprise for more of a cluster-centric view on this information, that ns annotation is likely to be useful.
Simpler, it's applied when Flux is installed, rather than having to parse the individual resources.
Fair - ideally wouldn't want to hardcode to flux-system though
@sympatheticmoose This is true, but you need to know which namespace to look for the components in, with any approach.
The flux runtime view already handles the controllers being installed in a namespace other than flux-system, if it was just pulling the annotation on the object it already retrieves that felt simple. I guess we currently query for the namespace with app.kubernetes.io/part-of=flux
Fair - ideally wouldn't want to hardcode to
flux-systemthough
Somehow we need to be able to discover the NS that Flux has been installed into, anyway. Not sure how we would do that...
The flux runtime view already handles the controllers being installed in a namespace other than
flux-system, if it was just pulling the annotation on the object it already retrieves that felt simple. I guess we currently query for the namespace withapp.kubernetes.io/part-of=flux
In that case I second Kevin's suggestion.