fix: remove k8s 1.16 from acceptance testing (#848)
* remove 1.16 from the versions tested in .github/workflows/acceptance.yaml as kind no longer supports creating a k8s 1.16 cluster * update vault-helm's minimum support k8s version to 1.20 in README and Chart.yaml * refactor server-ingress's templating and unit tests applied to k8s versions < 1.20
This commit is contained in:
parent
e31e70ea0b
commit
f4f05aaa74
8 changed files with 13 additions and 30 deletions
2
.github/workflows/acceptance.yaml
vendored
2
.github/workflows/acceptance.yaml
vendored
|
@ -7,7 +7,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
kind-k8s-version: [1.16.15, 1.20.15, 1.21.14, 1.22.15, 1.23.12, 1.24.6, 1.25.3]
|
kind-k8s-version: [1.20.15, 1.21.14, 1.22.15, 1.23.12, 1.24.6, 1.25.3]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
Changes:
|
||||||
|
* Earliest Kubernetes version tested is now 1.20
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
* server: New `extraPorts` option for adding ports to the Vault server statefulset [GH-841](https://github.com/hashicorp/vault-helm/pull/841)
|
* server: New `extraPorts` option for adding ports to the Vault server statefulset [GH-841](https://github.com/hashicorp/vault-helm/pull/841)
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ apiVersion: v2
|
||||||
name: vault
|
name: vault
|
||||||
version: 0.23.0
|
version: 0.23.0
|
||||||
appVersion: 1.12.1
|
appVersion: 1.12.1
|
||||||
kubeVersion: ">= 1.16.0-0"
|
kubeVersion: ">= 1.20.0-0"
|
||||||
description: Official HashiCorp Vault Chart
|
description: Official HashiCorp Vault Chart
|
||||||
home: https://www.vaultproject.io
|
home: https://www.vaultproject.io
|
||||||
icon: https://github.com/hashicorp/vault/raw/f22d202cde2018f9455dec755118a9b84586e082/Vault_PrimaryLogo_Black.png
|
icon: https://github.com/hashicorp/vault/raw/f22d202cde2018f9455dec755118a9b84586e082/Vault_PrimaryLogo_Black.png
|
||||||
|
|
|
@ -21,7 +21,7 @@ this README. Please refer to the Kubernetes and Helm documentation.
|
||||||
The versions required are:
|
The versions required are:
|
||||||
|
|
||||||
* **Helm 3.6+**
|
* **Helm 3.6+**
|
||||||
* **Kubernetes 1.16+** - This is the earliest version of Kubernetes tested.
|
* **Kubernetes 1.20+** - This is the earliest version of Kubernetes tested.
|
||||||
It is possible that this chart works with earlier versions but it is
|
It is possible that this chart works with earlier versions but it is
|
||||||
untested.
|
untested.
|
||||||
|
|
||||||
|
|
|
@ -61,19 +61,12 @@ spec:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range (.paths | default (list "/")) }}
|
{{- range (.paths | default (list "/")) }}
|
||||||
- path: {{ . }}
|
- path: {{ . }}
|
||||||
{{ if semverCompare ">= 1.19.0-0" $kubeVersion }}
|
|
||||||
pathType: {{ $pathType }}
|
pathType: {{ $pathType }}
|
||||||
{{ end }}
|
|
||||||
backend:
|
backend:
|
||||||
{{ if semverCompare ">= 1.19.0-0" $kubeVersion }}
|
|
||||||
service:
|
service:
|
||||||
name: {{ $serviceName }}
|
name: {{ $serviceName }}
|
||||||
port:
|
port:
|
||||||
number: {{ $servicePort }}
|
number: {{ $servicePort }}
|
||||||
{{ else }}
|
|
||||||
serviceName: {{ $serviceName }}
|
|
||||||
servicePort: {{ $servicePort }}
|
|
||||||
{{ end }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
@ -36,7 +36,7 @@ load _helpers
|
||||||
local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
--show-only templates/injector-disruptionbudget.yaml \
|
--show-only templates/injector-disruptionbudget.yaml \
|
||||||
--set 'injector.podDisruptionBudget.minAvailable=2' \
|
--set 'injector.podDisruptionBudget.minAvailable=2' \
|
||||||
--kube-version 1.19.5 \
|
--kube-version 1.20.15 \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq '.apiVersion == "policy/v1beta1"' | tee /dev/stderr)
|
yq '.apiVersion == "policy/v1beta1"' | tee /dev/stderr)
|
||||||
[ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
|
|
|
@ -104,7 +104,7 @@ load _helpers
|
||||||
--show-only templates/server-disruptionbudget.yaml \
|
--show-only templates/server-disruptionbudget.yaml \
|
||||||
--set 'server.ha.enabled=true' \
|
--set 'server.ha.enabled=true' \
|
||||||
--set 'server.ha.replicas=1' \
|
--set 'server.ha.replicas=1' \
|
||||||
--kube-version 1.19.5 \
|
--kube-version 1.20.15 \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq '.apiVersion == "policy/v1beta1"' | tee /dev/stderr)
|
yq '.apiVersion == "policy/v1beta1"' | tee /dev/stderr)
|
||||||
[ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
|
|
|
@ -197,7 +197,7 @@ load _helpers
|
||||||
[ "${actual}" = "release-name-vault" ]
|
[ "${actual}" = "release-name-vault" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "server/ingress: k8s 1.18.3 uses regular service when not ha - yaml" {
|
@test "server/ingress: k8s 1.20.15 uses correct service format when not ha - yaml" {
|
||||||
cd `chart_dir`
|
cd `chart_dir`
|
||||||
|
|
||||||
local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
|
@ -206,9 +206,9 @@ load _helpers
|
||||||
--set 'server.dev.enabled=false' \
|
--set 'server.dev.enabled=false' \
|
||||||
--set 'server.ha.enabled=false' \
|
--set 'server.ha.enabled=false' \
|
||||||
--set 'server.service.enabled=true' \
|
--set 'server.service.enabled=true' \
|
||||||
--kube-version 1.18.3 \
|
--kube-version 1.20.15 \
|
||||||
. | 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" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,32 +227,19 @@ load _helpers
|
||||||
[ "${actual}" = "release-name-vault" ]
|
[ "${actual}" = "release-name-vault" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "server/ingress: pathType is added to Kubernetes version == 1.19.0" {
|
@test "server/ingress: pathType is added to Kubernetes version == 1.20.15" {
|
||||||
cd `chart_dir`
|
cd `chart_dir`
|
||||||
|
|
||||||
local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
--show-only templates/server-ingress.yaml \
|
--show-only templates/server-ingress.yaml \
|
||||||
--set 'server.ingress.enabled=true' \
|
--set 'server.ingress.enabled=true' \
|
||||||
--set server.ingress.pathType=ImplementationSpecific \
|
--set server.ingress.pathType=ImplementationSpecific \
|
||||||
--kube-version 1.19.0 \
|
--kube-version 1.20.15 \
|
||||||
. | tee /dev/stderr |
|
. | tee /dev/stderr |
|
||||||
yq -r '.spec.rules[0].http.paths[0].pathType' | tee /dev/stderr)
|
yq -r '.spec.rules[0].http.paths[0].pathType' | tee /dev/stderr)
|
||||||
[ "${actual}" = "ImplementationSpecific" ]
|
[ "${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" {
|
@test "server/ingress: pathType is added to Kubernetes versions > 1.19" {
|
||||||
cd `chart_dir`
|
cd `chart_dir`
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue