Expose ingressClassName due to deprecation of kubernetes.io/ingress.class annotation
Closed this issue · 2 comments
I am running FME Server in a local bare metal k8s cluster. I use two Ingress controllers for applications only available from the internal network (like FME Server, ingressClassName=internal-nginx
) and applications available to public internet (ingressClassName=nginx
).
As of Kubernetes v1.22+ the kubernetes.io/ingress.class
annotation is depracted in favor of the ingressClassName
spec, as described here.
It would be very helpful to expose the ingressClassName
in values.yml
so I can set FME to use the internal IngressController, e.g.:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
ingressClassName: internal-nginx
...
Example FME Server values.yml
.
# ...
# ...
disableTLS: false
ingress:
# general annotations are applied to all ingresses
general:
# Pass this on to all Ingress for k8s >v1.22
ingressClassName: "internal-nginx"
annotations:
# Not working for k8s >v1.22
# kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/session-cookie-name: fmeserver-ingress
nginx.ingress.kubernetes.io/session-cookie-hash: md5
# annotations on the default web traffic ingress
web:
# ...
# ...
# ...
Thanks so much for the report! Yes, we should definitely update this. I will file a ticket internally at Safe to track this and will update here when it is implemented.
The fmeserver-2023-0
chart now has the ingress class name expsosed as a parameter ingress.general.ingressClassName
.