Chart: Fix IngressClass annotations.

This commit is contained in:
Marco Ebert 2024-06-03 10:30:49 +02:00
parent 82c4d78a2f
commit d7a150f2dd
4 changed files with 40 additions and 1 deletions

View file

@ -11,6 +11,9 @@ metadata:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
name: {{ . }} name: {{ . }}
{{- if $.Values.controller.ingressClassResource.annotations }}
annotations: {{ toYaml $.Values.controller.ingressClassResource.annotations | nindent 4 }}
{{- end }}
spec: spec:
controller: {{ $.Values.controller.ingressClassResource.controllerValue }} controller: {{ $.Values.controller.ingressClassResource.controllerValue }}
{{- with $.Values.controller.ingressClassResource.parameters }} {{- with $.Values.controller.ingressClassResource.parameters }}

View file

@ -9,13 +9,15 @@ metadata:
{{- toYaml . | nindent 4 }} {{- toYaml . | nindent 4 }}
{{- end }} {{- end }}
name: {{ .Values.controller.ingressClassResource.name }} name: {{ .Values.controller.ingressClassResource.name }}
{{- if or .Values.controller.ingressClassResource.default .Values.controller.ingressClassResource.annotations }}
annotations: annotations:
{{- if .Values.controller.ingressClassResource.default }} {{- if .Values.controller.ingressClassResource.default }}
ingressclass.kubernetes.io/is-default-class: "true" ingressclass.kubernetes.io/is-default-class: "true"
{{- end }} {{- end }}
{{- if .Values.controller.ingressClassResource.annotations }} {{- if .Values.controller.ingressClassResource.annotations }}
{{- toYaml .Values.controller.ingressClassResource.annotations | nindent 4 }} {{- toYaml .Values.controller.ingressClassResource.annotations | nindent 4 }}
{{- end }} {{- end }}
{{- end }}
spec: spec:
controller: {{ .Values.controller.ingressClassResource.controllerValue }} controller: {{ .Values.controller.ingressClassResource.controllerValue }}
{{- with .Values.controller.ingressClassResource.parameters }} {{- with .Values.controller.ingressClassResource.parameters }}

View file

@ -37,6 +37,24 @@ tests:
- notExists: - notExists:
path: metadata.annotations["ingressclass.kubernetes.io/is-default-class"] path: metadata.annotations["ingressclass.kubernetes.io/is-default-class"]
- it: should create an IngressClass alias with annotations if `controller.ingressClassResource.annotations` is set
set:
controller.ingressClassResource.aliases:
- nginx-alias
controller.ingressClassResource.annotations:
my-fancy-annotation: has-a-value
asserts:
- hasDocuments:
count: 1
- isKind:
of: IngressClass
- equal:
path: metadata.name
value: nginx-alias
- equal:
path: metadata.annotations.my-fancy-annotation
value: has-a-value
- it: should create an IngressClass alias with controller "k8s.io/ingress-nginx-internal" if `controller.ingressClassResource.controllerValue` is "k8s.io/ingress-nginx-internal" - it: should create an IngressClass alias with controller "k8s.io/ingress-nginx-internal" if `controller.ingressClassResource.controllerValue` is "k8s.io/ingress-nginx-internal"
set: set:
controller.ingressClassResource.aliases: controller.ingressClassResource.aliases:

View file

@ -40,6 +40,22 @@ tests:
path: metadata.annotations["ingressclass.kubernetes.io/is-default-class"] path: metadata.annotations["ingressclass.kubernetes.io/is-default-class"]
value: "true" value: "true"
- it: should create an IngressClass with annotations if `controller.ingressClassResource.annotations` is set
set:
controller.ingressClassResource.annotations:
my-fancy-annotation: has-a-value
asserts:
- hasDocuments:
count: 1
- isKind:
of: IngressClass
- equal:
path: metadata.name
value: nginx
- equal:
path: metadata.annotations.my-fancy-annotation
value: has-a-value
- it: should create an IngressClass with controller "k8s.io/ingress-nginx-internal" if `controller.ingressClassResource.controllerValue` is "k8s.io/ingress-nginx-internal" - it: should create an IngressClass with controller "k8s.io/ingress-nginx-internal" if `controller.ingressClassResource.controllerValue` is "k8s.io/ingress-nginx-internal"
set: set:
controller.ingressClassResource.controllerValue: k8s.io/ingress-nginx-internal controller.ingressClassResource.controllerValue: k8s.io/ingress-nginx-internal