diff --git a/traefik/templates/ingressclass.yaml b/traefik/templates/ingressclass.yaml index a11214dd8..364e1dacf 100644 --- a/traefik/templates/ingressclass.yaml +++ b/traefik/templates/ingressclass.yaml @@ -15,7 +15,7 @@ metadata: ingressclass.kubernetes.io/is-default-class: {{ .Values.ingressClass.isDefaultClass | quote }} labels: {{- include "traefik.labels" . | nindent 4 }} - name: {{ template "traefik.fullname" . }} + name: {{ .Values.ingressClass.name | default (include "traefik.fullname" .) }} spec: controller: traefik.io/ingress-controller {{- end -}} diff --git a/traefik/tests/ingressclass-config_test.yaml b/traefik/tests/ingressclass-config_test.yaml index 3da29d7e7..60bda35dd 100644 --- a/traefik/tests/ingressclass-config_test.yaml +++ b/traefik/tests/ingressclass-config_test.yaml @@ -65,3 +65,18 @@ tests: asserts: - failedTemplate: errorMessage: "You must use at least Kubernetes v1.16 with this Chart" + - it: should be possible to provide an IngressClass name + capabilities: + majorVersion: 1 + minorVersion: 19 + set: + ingressClass: + name: nondefaultname + asserts: + - isKind: + of: IngressClass + - isAPIVersion: + of: networking.k8s.io/v1 + - equal: + path: metadata.name + value: nondefaultname diff --git a/traefik/values.yaml b/traefik/values.yaml index a934458c0..13110064e 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -105,6 +105,7 @@ podDisruptionBudget: ingressClass: enabled: true isDefaultClass: true + # name: my-custom-class # Traefik experimental features experimental: