Overridable ingress annotations and optional ingressClass
What does this MR do?
It is a two-part fix for #206 (closed), where part of the fix is a new feature.
feature: overridable annotations
User-provided annotations should always take priority over chart-provided ones. This way, we can provide a default ingress annotation based on the ingress class, but the user can override it.
fix: optional ingress class
In order to be backwards-compatible with old controllers, cannot set ingressClassName on the Ingress. And we cannot rely on having having the ability to list IngressClass resources, as this is a new cluster level permission that needs its own RBAC. Instead, we just expose the value and use it for both the annotation kubernetes.io/ingress.class AND the ingressClassName field on the Ingress resource.
Links
Edited by Hordur Freyr Yngvason