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" -}}
|
||||
{{- 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
|
||||
|
||||
# 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
|
||||
podLabels: {}
|
||||
# key: value
|
||||
|
|
Loading…
Reference in a new issue