Add option for Ingress pathType (#634)
This commit is contained in:
parent
dc08ab6324
commit
c09c50f9d6
3 changed files with 47 additions and 0 deletions
|
@ -8,6 +8,7 @@
|
|||
{{- $serviceName = printf "%s-%s" $serviceName "active" -}}
|
||||
{{- end }}
|
||||
{{- $servicePort := .Values.server.service.port -}}
|
||||
{{- $pathType := .Values.server.ingress.pathType -}}
|
||||
{{- $kubeVersion := .Capabilities.KubeVersion.Version }}
|
||||
{{ if semverCompare ">= 1.19.0-0" $kubeVersion }}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
|
@ -53,6 +54,9 @@ spec:
|
|||
{{- end }}
|
||||
{{- range (.paths | default (list "/")) }}
|
||||
- path: {{ . }}
|
||||
{{ if semverCompare ">= 1.19.0-0" $kubeVersion }}
|
||||
pathType: {{ $pathType }}
|
||||
{{ end }}
|
||||
backend:
|
||||
{{ if semverCompare ">= 1.19.0-0" $kubeVersion }}
|
||||
service:
|
||||
|
|
|
@ -226,3 +226,42 @@ load _helpers
|
|||
yq -r '.spec.rules[0].http.paths[0].backend.service.name' | tee /dev/stderr)
|
||||
[ "${actual}" = "RELEASE-NAME-vault" ]
|
||||
}
|
||||
|
||||
@test "server/ingress: pathType is added to Kubernetes version == 1.19.0" {
|
||||
cd `chart_dir`
|
||||
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ingress.yaml \
|
||||
--set 'server.ingress.enabled=true' \
|
||||
--set server.ingress.pathType=ImplementationSpecific \
|
||||
--kube-version 1.19.0 \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.rules[0].http.paths[0].pathType' | tee /dev/stderr)
|
||||
[ "${actual}" = "ImplementationSpecific" ]
|
||||
}
|
||||
|
||||
@test "server/ingress: pathType is not added to Kubernetes versions < 1.19" {
|
||||
cd `chart_dir`
|
||||
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ingress.yaml \
|
||||
--set 'server.ingress.enabled=true' \
|
||||
--set server.ingress.pathType=ImplementationSpecific \
|
||||
--kube-version 1.18.3 \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.rules[0].http.paths[0].pathType' | tee /dev/stderr)
|
||||
[ "${actual}" = "null" ]
|
||||
}
|
||||
|
||||
@test "server/ingress: pathType is added to Kubernetes versions > 1.19" {
|
||||
cd `chart_dir`
|
||||
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ingress.yaml \
|
||||
--set 'server.ingress.enabled=true' \
|
||||
--set server.ingress.pathType=Prefix \
|
||||
--kube-version 1.20.0 \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.rules[0].http.paths[0].pathType' | tee /dev/stderr)
|
||||
[ "${actual}" = "Prefix" ]
|
||||
}
|
||||
|
|
|
@ -275,6 +275,10 @@ server:
|
|||
# See: https://kubernetes.io/docs/concepts/services-networking/ingress/#deprecated-annotation
|
||||
ingressClassName: ""
|
||||
|
||||
# As of Kubernetes 1.19, all Ingress Paths must have a pathType configured. The default value below should be sufficient in most cases.
|
||||
# See: https://kubernetes.io/docs/concepts/services-networking/ingress/#path-types for other possible values.
|
||||
pathType: Prefix
|
||||
|
||||
# When HA mode is enabled and K8s service registration is being used,
|
||||
# configure the ingress to point to the Vault active service.
|
||||
activeService: true
|
||||
|
|
Loading…
Reference in a new issue