I get the following error message when trying to install the rasa x helm chart:
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Ingress" in version "extensions/v1beta1
Is there anyone who can help me understand this error message?
These are the commands I use in the terminal:
helm repo add rasa-x https://rasahq.github.io/rasa-x-helm
kubectl create namespace my-namespace
helm --namespace my-namespace install --values values.yml my-release rasa-x/rasa-x
In my values.yaml I have:
nginx:
service:
# connect LoadBalancer directly to VMs' internal IP
# You get this value with: $ hostname -I
externalIPs: [10.164.0.2]
The chart you are using tries to create an Ingress object, using an API version that was deprecated a while ago, and is no longer recognized.
Issue comes from there: https://github.com/RasaHQ/rasa-x-helm/blob/main/charts/rasa-x/templates/ingress.yaml#L4-L10
For some reason, Helm doesn't detect the proper API version (.Capabilities.KubeVersion.Version). Though having worked on other charts, capabilites discovery isn't 100% reliable - eg. using ArgoCD.
As a workaround, you could try to generate objects into a file:
helm --dry-run [your-options] >my-rendered-chart.yaml
sed -i 's|extensions/v1beta1|networking.k8s.io/v1|' my-rendered-chart.yaml
kubectl apply -f my-rendered-chart.yaml
Although this kinda defeats the purpose of Helm. It would be best to figure out a fix and contribute it.
To work on a chart, you could extract it locally, using.
helm repo add rasahq https://rasahq.github.io/rasa-x-helm
helm fetch rasahq/rasa-x --untar
ls rasa-x/
You could then work on a patch, testing your changes with:
helm install --dry-run --debug ./my-chart
helm install --dry-run --debug ./my-chart | kubectl apply -f-
...