Gitlab helm install ignoring ingress class specified, for external ingress

I’ve tried installing gitlab with the helm chart and specifying an external and already working ingress for other services, but it is ignoring the class of the ingress that I specify:

My helm call is like so:

helm upgrade --install gitlab gitlab/gitlab *
** --timeout 3600s *

** --set certmanager.install=false **
** --set certmanager-issuer.email=[EMAIL] **
** --set global.ingress.configureCertmanager=false **
** --set global.ingress.annotations.“kubernetes.io/tls-acme”=true **
** --set nginx-ingress.enabled=false **
** --set global.ingress.class=nginx **
** --set global.ingress.annotations.“kubernetes\.io/tls-acme”=true **
** --set global.ingress.annotations.“kubernetes\.io/ingress\.class”=nginx **
** --set global.ingress.annotations.“cert-manager\.io/issuer”=letsencrypt-prod **
** --set global.ingress.annotations.“acme\.cert-manager\.io/http01-ingress-class”=nginx **

But it is completely ignoring it:

image

Any ideas?

Nginx ingress specifies that the ingress should be compatible with the ingressClassName: nginx syntax from cluster version 1.19 onward, but I don’t see any way specifying it in the helm chart.

Did you ever get this resolved? I’m having a similar problem…

                       --set global.ingress.tls.secretName=gitlab-global-tls \
                       --set global.kas.enabled=true \
                       --set nginx-ingress.enabled=false \
                       --set gitlab.webservice.ingress.tls.secretName=gitlab-webservice-ingress-tls \
                       --set certmanager-issuer.email=jim.conner@bluescape.com \
                       --set registry.ingress.tls.secretName=gitlab-registry-ingress-tls \
                       --set minio.ingress.tls.secretName=gitlab-minio-ingress-tls \
                       --set global.ingress.annotations."acme\.cert\-manager\.io/http01\-ingress\-class"="nginx" \
                       --set global.ingress.annotations."cert\-manager\.io/cluster\-issuer"="letsencrypt-prod" \
                       --set global.ingress.annotations."kubernetes\.io/ingress\.class"="nginx" \
                       --set global.ingress.annotations."kubernetes\.io/tls\-acme"="true" \
                       --set global.ingress.annotations."nginx\.ingress\.kubernetes\.io/force\-ssl\-redirect"="true" \
Error: Ingress.extensions "gitlab-registry" is invalid: annotations.kubernetes.io/ingress.class: Invalid value: "nginx": can not be set when the class field is also set

Yes, in recent versions of kubernetes you must specify the class “nginx” without using annotations. You cannot specify both at the same time, just erase the annotation specifying the class and just leave ingress.class=“nginx” alone.