Is this a request for help?:
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
Feature request
The nginx-ingress chart has support for passing runtime arguments to nginx-ingress-controller and default-backend containers by making use of the controller.extraArgs and defaultBackend.extraArgs parameters for settings such as:
default-ssl-certificate: "foo/foo-cert"
This feature does not work for standalone parameters which do not accept values such as:
enable-ssl-passthrough: ""
Version of Helm and Kubernetes:
Helm 2.6.1
Kubernetes 1.7.1
Which chart:
stable/nginx-ingress
What happened:
Error from the nginx-ingress-controller container on startup:
invalid argument "" for --enable-ssl-passthrough=: strconv.ParseBool: parsing "": invalid syntax
What you expected to happen:
Empty strings on values should be interpreted as standalone flags with no values and not include the extra = character.
How to reproduce it (as minimally and precisely as possible):
helm install stable/nginx-ingress --set controller.extraArgs={enable-ssl-passthrough}
Anything else we need to know:
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Prevent issues from auto-closing with an /lifecycle frozen comment.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale
Should anyone else have the same question, this is how to run it to enable enable-ssl-passthrough in the new nginx.
helm install --namespace kube-system --name nginx-ingress --set rbac.create=true --set controller.stats.enabled=true --set controller.service.type=NodePort --set controller.service.nodePorts.http=80 --set controller.service.nodePorts.https=443 --set controller.service.externalTrafficPolicy=Local --set controller.extraArgs.enable-ssl-passthrough="" stable/nginx-ingress
also annotate your ingress with:
metadata:
annotations:
"ingress.kubernetes.io/ssl-passthrough": "true" # old style
"nginx.ingress.kubernetes.io/ssl-passthrough": "true"
Most helpful comment
Should anyone else have the same question, this is how to run it to enable enable-ssl-passthrough in the new nginx.
helm install --namespace kube-system --name nginx-ingress --set rbac.create=true --set controller.stats.enabled=true --set controller.service.type=NodePort --set controller.service.nodePorts.http=80 --set controller.service.nodePorts.https=443 --set controller.service.externalTrafficPolicy=Local --set controller.extraArgs.enable-ssl-passthrough="" stable/nginx-ingressalso annotate your ingress with: