helm: add new ingressClass resource (#6882)
* helm: add new ingressClass resource * add ingress parameters support This commit adds ingress parameters support. Credits go to Ariel Vinas: ariel@craftech.io
This commit is contained in:
parent
65ce8cfbdf
commit
cec3c0af3d
3 changed files with 44 additions and 0 deletions
|
@ -122,3 +122,13 @@ Check the ingress controller version tag is at most three versions behind the la
|
||||||
{{- fail "Controller container image tag should be 0.27.0 or higher" -}}
|
{{- fail "Controller container image tag should be 0.27.0 or higher" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
IngressClass parameters.
|
||||||
|
*/}}
|
||||||
|
{{- define "ingressClass.parameters" -}}
|
||||||
|
{{- if .Values.controller.ingressClassResource.parameters -}}
|
||||||
|
parameters:
|
||||||
|
{{ toYaml .Values.controller.ingressClassResource.parameters | indent 4}}
|
||||||
|
{{ end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
23
charts/ingress-nginx/templates/controller-ingressclass.yaml
Normal file
23
charts/ingress-nginx/templates/controller-ingressclass.yaml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{{- if and (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) (.Values.controller.ingressClassResource.enabled) -}}
|
||||||
|
{{- if and (semverCompare "=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
|
||||||
|
apiVersion: networking.k8s.io/v1beta1
|
||||||
|
{{- else }}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
{{- end }}
|
||||||
|
kind: IngressClass
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "ingress-nginx.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: controller
|
||||||
|
{{- with .Values.controller.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
name: {{ .Values.controller.ingressClass }}
|
||||||
|
{{- if .Values.controller.ingressClassResource.default }}
|
||||||
|
annotations:
|
||||||
|
ingressclass.kubernetes.io/is-default-class: "true"
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
controller: k8s.io/ingress-nginx
|
||||||
|
{{ template "ingressClass.parameters" . }}
|
||||||
|
{{- end }}
|
|
@ -80,6 +80,17 @@ controller:
|
||||||
##
|
##
|
||||||
ingressClass: nginx
|
ingressClass: nginx
|
||||||
|
|
||||||
|
# This section refers to the creation of the IngressClass resource
|
||||||
|
# IngressClass resources are supported since k8s >= 1.18
|
||||||
|
ingressClassResource:
|
||||||
|
enabled: false
|
||||||
|
default: false
|
||||||
|
|
||||||
|
# Parameters is a link to a custom resource containing additional
|
||||||
|
# configuration for the controller. This is optional if the controller
|
||||||
|
# does not require extra parameters.
|
||||||
|
parameters: {}
|
||||||
|
|
||||||
# labels to add to the pod container metadata
|
# labels to add to the pod container metadata
|
||||||
podLabels: {}
|
podLabels: {}
|
||||||
# key: value
|
# key: value
|
||||||
|
|
Loading…
Reference in a new issue