Closed kingdonb closed 1 year ago
This has been resolved in v0.25.1 and it got a mention in the CHANGELOG:
We solved the issue by making a record of Flux types (Kinds) and fully qualifying the Flux toolkit kinds whenever they are used in a context where they have potential to get confused.
Expected behaviour
I have a cluster where I have both Loft (https://loft.sh) and Flux installed. Both create APIs in the Kubernetes resources called "HelmReleases" and wherever we're calling into the cluster for HelmReleases unqualified, it has the potential to cause issues.
When the user is in the GitOps Tools UI, any HelmReleases should visually appear as "HelmReleases" but on the backend they should always be requested with their fully qualified name, whether in an informer, in a plain
get
command,describe
or whatever. GitOps Tools UI is only interested in Flux HelmReleases.Actual behaviour
The Loft HelmReleases API is sometimes used, causing errors. It looks like this, or alternatively it could sometimes pull up the resource so you can see the HelmRelease content, but it's the wrong HelmRelease:
Steps to reproduce
This surfaced in the prerelease (edge) branch. The symptom is when you look at the HelmReleases on the cluster, they all appear with an error state because they weren't able to be parsed and consumed. The open resource behavior shows the selected resource is a helmreleases.clusters.loft.sh and even if the user is not familiar with this API, it can get in the way:
All of these HelmReleases were auto-generated. When I run
kubectl get helmreleases
I am at risk of pulling these, instead of the Flux helmreleases. This hasn't been noticed as an issue until the recent changes to use the server-side API, when it looks like the chances increased that users will trip over this.Versions
kubectl version: Flux version: Git version: Azure version: Extension version: v0.25.1693332368 (Prerelease) VSCode version: Operating System (OS) and its version: