When using the values.yml to configure an external IP and custom port for the RasaX server I get a parsing error but not on my file. The parsing error is found in rasa-x/templates/nginx-service.yaml
error converting YAML to JSON: yaml: line 21: could not find expected ':'
Yeah I am sorry that was confusing.
Line 21 is the one that says {{ -end }} right after nodePort: {{.Values.nginx.service.nodePort }}
Additional information:
I am using the official helm chart, the only thing I did different from the tutorial was adding custom nginx values to the values.yml file. When I deploy without these custom values everything works just fine.
My values.yml parses just fine, the parsing error is in the helm chart and I would try to solve it and ask for a merge request but I don’t see anything wrong.
@jsolis I got rid of the issue by passing the external ip as a list instead of string.
This led to correct population of the externalIPs under the service key of nginx.
However, my service still passes request from the IPs apart from the IP specified in the externalIPs list… sigh. @mloubser@Tobias_Wochinger
Thanks for the info, you are right, that solves the parsing error. However, as you said, the service still passes request from the IPs apart from the IP specified in the externalIPs list.
I think you misunderstand what externalIPs do. The externalIPs it’s not a list of IP addresses that traffic is allowed from, more information you can find in the Kubernetes docs, Service | Kubernetes
You can try to use the loadBalancerSourceRanges service parameter, but it has to be supported by your cloud provider. The rasa-x helm template doesn’t support this parameter, but you can add it manually to the Nginx service or modify the rasa-x helm chart.
@tczekajlo thanks for your response. From whatever little bit I read and understood, the whitelisting can be done thru ingress as well. I tried to pass the required IP addresses to annotations as -
Those extra annotations work only if you use Ingress controller such as ingress-nginx. You have to have it installed and configured on your Kubernetes cluster.
Additionally, the rasa-x helm chart settings for ingress-nginx look like this.