-
Notifications
You must be signed in to change notification settings - Fork 119
Description
Hi folks 👋
I would like to raise you a recent issue I have with this amazing tool.
Indeed I noticed recently that I wasn't able to update deprecated resource in my helm releases
By looking at the code and making some try I finally came to the conclusion that the comparison between the modifiedManifest and the deprecatedAPI failed every time since the modifiedManifest yaml contains double quotes (") for each values and the map in the config file don't : so the plugin never try to apply the update on the resource 😅
Here is the line of the comparison
Here is a sample of the modifiedManifest when I print it through the code
apiVersion: "networking.k8s.io/v1beta1"
kind: "Ingress"
Also I noticed this is not consistent for all resources, for example we have custom resources called DNSEndpoint (from the external-dns project)
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
When I modify the map file and I manually add the escaped double quote, it works:
- deprecatedAPI: "apiVersion: \"networking.k8s.io/v1beta1\"\nkind: \"Ingress\"\n"
newAPI: "apiVersion: \"networking.k8s.io/v1\"\nkind: \"Ingress\"\n"
deprecatedInVersion: "v1.19"
removedInVersion: "v1.22"
Maybe some kind of sanitization is required here I don't know, let me know 😉
I'm not sure when it starts to do that, so here is my config:
- kube client
v1.26.3 - kube server
v1.23.16 - helm
v3.11.2 - helm plugin mapkubeapis
0.4.1
Don't hesitate to reach me if you need more details
Cheers 😉