ingress stable networking api (#590)
* Moved ingress to stable networking api * lower versions support * ingress disabled by default * added tests for old k8s
This commit is contained in:
parent
9758666262
commit
72c485dd2c
3 changed files with 38 additions and 11 deletions
|
@ -8,7 +8,10 @@
|
||||||
{{- $serviceName = printf "%s-%s" $serviceName "active" -}}
|
{{- $serviceName = printf "%s-%s" $serviceName "active" -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $servicePort := .Values.server.service.port -}}
|
{{- $servicePort := .Values.server.service.port -}}
|
||||||
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
|
{{- $kubeVersion := .Capabilities.KubeVersion.Version }}
|
||||||
|
{{ if semverCompare ">= 1.19.0-0" $kubeVersion }}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
{{ else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
|
||||||
apiVersion: networking.k8s.io/v1beta1
|
apiVersion: networking.k8s.io/v1beta1
|
||||||
{{ else }}
|
{{ else }}
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
|
@ -48,8 +51,15 @@ spec:
|
||||||
{{- range (.paths | default (list "/")) }}
|
{{- range (.paths | default (list "/")) }}
|
||||||
- path: {{ . }}
|
- path: {{ . }}
|
||||||
backend:
|
backend:
|
||||||
|
{{ if semverCompare ">= 1.19.0-0" $kubeVersion }}
|
||||||
|
service:
|
||||||
|
name: {{ $serviceName }}
|
||||||
|
port:
|
||||||
|
number: {{ $servicePort }}
|
||||||
|
{{ else }}
|
||||||
serviceName: {{ $serviceName }}
|
serviceName: {{ $serviceName }}
|
||||||
servicePort: {{ $servicePort }}
|
servicePort: {{ $servicePort }}
|
||||||
|
{{ end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -52,7 +52,7 @@ load _helpers
|
||||||
--set 'server.ingress.hosts[0].host=test.com' \
|
--set 'server.ingress.hosts[0].host=test.com' \
|
||||||
--set 'server.ingress.hosts[0].paths[0]=/' \
|
--set 'server.ingress.hosts[0].paths[0]=/' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].backend.serviceName | length > 0' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].backend.service.name | length > 0' | tee /dev/stderr)
|
||||||
[ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -66,9 +66,9 @@ load _helpers
|
||||||
--set 'server.ingress.hosts[0].host=test.com' \
|
--set 'server.ingress.hosts[0].host=test.com' \
|
||||||
--set 'server.ingress.hosts[0].paths[0]=/' \
|
--set 'server.ingress.hosts[0].paths[0]=/' \
|
||||||
--set 'server.ingress.extraPaths[0].path=/annotation-service' \
|
--set 'server.ingress.extraPaths[0].path=/annotation-service' \
|
||||||
--set 'server.ingress.extraPaths[0].backend.serviceName=ssl-redirect' \
|
--set 'server.ingress.extraPaths[0].backend.service.name=ssl-redirect' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].backend.serviceName' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].backend.service.name' | tee /dev/stderr)
|
||||||
[ "${actual}" = 'ssl-redirect' ]
|
[ "${actual}" = 'ssl-redirect' ]
|
||||||
|
|
||||||
local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
|
@ -77,7 +77,7 @@ load _helpers
|
||||||
--set 'server.ingress.hosts[0].host=test.com' \
|
--set 'server.ingress.hosts[0].host=test.com' \
|
||||||
--set 'server.ingress.hosts[0].paths[0]=/' \
|
--set 'server.ingress.hosts[0].paths[0]=/' \
|
||||||
--set 'server.ingress.extraPaths[0].path=/annotation-service' \
|
--set 'server.ingress.extraPaths[0].path=/annotation-service' \
|
||||||
--set 'server.ingress.extraPaths[0].backend.serviceName=ssl-redirect' \
|
--set 'server.ingress.extraPaths[0].backend.service.name=ssl-redirect' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].path' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].path' | tee /dev/stderr)
|
||||||
[ "${actual}" = '/annotation-service' ]
|
[ "${actual}" = '/annotation-service' ]
|
||||||
|
@ -88,7 +88,7 @@ load _helpers
|
||||||
--set 'server.ingress.hosts[0].host=test.com' \
|
--set 'server.ingress.hosts[0].host=test.com' \
|
||||||
--set 'server.ingress.hosts[0].paths[0]=/' \
|
--set 'server.ingress.hosts[0].paths[0]=/' \
|
||||||
--set 'server.ingress.extraPaths[0].path=/annotation-service' \
|
--set 'server.ingress.extraPaths[0].path=/annotation-service' \
|
||||||
--set 'server.ingress.extraPaths[0].backend.serviceName=ssl-redirect' \
|
--set 'server.ingress.extraPaths[0].backend.service.name=ssl-redirect' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[1].path' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[1].path' | tee /dev/stderr)
|
||||||
[ "${actual}" = '/' ]
|
[ "${actual}" = '/' ]
|
||||||
|
@ -141,7 +141,7 @@ load _helpers
|
||||||
--set 'server.ha.enabled=true' \
|
--set 'server.ha.enabled=true' \
|
||||||
--set 'server.service.enabled=true' \
|
--set 'server.service.enabled=true' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].backend.serviceName' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].backend.service.name' | tee /dev/stderr)
|
||||||
[ "${actual}" = "RELEASE-NAME-vault-active" ]
|
[ "${actual}" = "RELEASE-NAME-vault-active" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ load _helpers
|
||||||
--set 'server.ha.enabled=true' \
|
--set 'server.ha.enabled=true' \
|
||||||
--set 'server.service.enabled=true' \
|
--set 'server.service.enabled=true' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].backend.serviceName' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].backend.service.name' | tee /dev/stderr)
|
||||||
[ "${actual}" = "RELEASE-NAME-vault" ]
|
[ "${actual}" = "RELEASE-NAME-vault" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -170,6 +170,21 @@ load _helpers
|
||||||
--set 'server.ha.enabled=false' \
|
--set 'server.ha.enabled=false' \
|
||||||
--set 'server.service.enabled=true' \
|
--set 'server.service.enabled=true' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.spec.rules[0].http.paths[0].backend.service.name' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "RELEASE-NAME-vault" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "server/ingress: k8s 1.18.3 uses regular service when not ha - yaml" {
|
||||||
|
cd `chart_dir`
|
||||||
|
|
||||||
|
local actual=$(helm template \
|
||||||
|
--show-only templates/server-ingress.yaml \
|
||||||
|
--set 'server.ingress.enabled=true' \
|
||||||
|
--set 'server.dev.enabled=false' \
|
||||||
|
--set 'server.ha.enabled=false' \
|
||||||
|
--set 'server.service.enabled=true' \
|
||||||
|
--kube-version 1.18.3 \
|
||||||
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].backend.serviceName' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].backend.serviceName' | tee /dev/stderr)
|
||||||
[ "${actual}" = "RELEASE-NAME-vault" ]
|
[ "${actual}" = "RELEASE-NAME-vault" ]
|
||||||
}
|
}
|
||||||
|
@ -185,6 +200,6 @@ load _helpers
|
||||||
--set 'server.ha.enabled=false' \
|
--set 'server.ha.enabled=false' \
|
||||||
--set 'server.service.enabled=true' \
|
--set 'server.service.enabled=true' \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].backend.serviceName' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].backend.service.name' | tee /dev/stderr)
|
||||||
[ "${actual}" = "RELEASE-NAME-vault" ]
|
[ "${actual}" = "RELEASE-NAME-vault" ]
|
||||||
}
|
}
|
||||||
|
|
|
@ -281,8 +281,10 @@ server:
|
||||||
extraPaths: []
|
extraPaths: []
|
||||||
# - path: /*
|
# - path: /*
|
||||||
# backend:
|
# backend:
|
||||||
# serviceName: ssl-redirect
|
# service:
|
||||||
# servicePort: use-annotation
|
# name: ssl-redirect
|
||||||
|
# port:
|
||||||
|
# number: use-annotation
|
||||||
tls: []
|
tls: []
|
||||||
# - secretName: chart-example-tls
|
# - secretName: chart-example-tls
|
||||||
# hosts:
|
# hosts:
|
||||||
|
|
Loading…
Reference in a new issue