fix csi helm deployment (#486)
* fix serviceaccount and clusterrole name reference (full name) * add server.enabled option, align with documentation * add unit tests * update server.enabled behaviour to explicit true and update tests
This commit is contained in:
parent
a6856646aa
commit
7a71c0fec4
9 changed files with 97 additions and 2 deletions
|
@ -53,6 +53,8 @@ template logic.
|
||||||
{{- define "vault.mode" -}}
|
{{- define "vault.mode" -}}
|
||||||
{{- if .Values.injector.externalVaultAddr -}}
|
{{- if .Values.injector.externalVaultAddr -}}
|
||||||
{{- $_ := set . "mode" "external" -}}
|
{{- $_ := set . "mode" "external" -}}
|
||||||
|
{{- else if ne (.Values.server.enabled | toString) "true" -}}
|
||||||
|
{{- $_ := set . "mode" "external" -}}
|
||||||
{{- else if eq (.Values.server.dev.enabled | toString) "true" -}}
|
{{- else if eq (.Values.server.dev.enabled | toString) "true" -}}
|
||||||
{{- $_ := set . "mode" "dev" -}}
|
{{- $_ := set . "mode" "dev" -}}
|
||||||
{{- else if eq (.Values.server.ha.enabled | toString) "true" -}}
|
{{- else if eq (.Values.server.ha.enabled | toString) "true" -}}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
kind: ClusterRole
|
kind: ClusterRole
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "vault.name" . }}-csi-provider-clusterrole
|
name: {{ template "vault.fullname" . }}-csi-provider-clusterrole
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider
|
app.kubernetes.io/name: {{ include "vault.name" . }}-csi-provider
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
|
|
@ -27,7 +27,7 @@ spec:
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
{{ template "csi.pod.annotations" . }}
|
{{ template "csi.pod.annotations" . }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "vault.name" . }}-csi-provider
|
serviceAccountName: {{ template "vault.fullname" . }}-csi-provider
|
||||||
containers:
|
containers:
|
||||||
- name: {{ include "vault.name" . }}-csi-provider
|
- name: {{ include "vault.name" . }}-csi-provider
|
||||||
{{ template "csi.resources" . }}
|
{{ template "csi.resources" . }}
|
||||||
|
|
|
@ -20,3 +20,14 @@ load _helpers
|
||||||
yq 'length > 0' | tee /dev/stderr)
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
[ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ClusterRole name
|
||||||
|
@test "csi/ClusterRole: name" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$(helm template \
|
||||||
|
--show-only templates/csi-clusterrole.yaml \
|
||||||
|
--set "csi.enabled=true" \
|
||||||
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.metadata.name' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "RELEASE-NAME-vault-csi-provider-clusterrole" ]
|
||||||
|
}
|
|
@ -20,3 +20,25 @@ load _helpers
|
||||||
yq 'length > 0' | tee /dev/stderr)
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
[ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ClusterRoleBinding cluster role ref name
|
||||||
|
@test "csi/ClusterRoleBinding: cluster role ref name" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$(helm template \
|
||||||
|
--show-only templates/csi-clusterrolebinding.yaml \
|
||||||
|
--set "csi.enabled=true" \
|
||||||
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.roleRef.name' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "RELEASE-NAME-vault-csi-provider-clusterrole" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
# ClusterRoleBinding service account name
|
||||||
|
@test "csi/ClusterRoleBinding: service account name" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$(helm template \
|
||||||
|
--show-only templates/csi-clusterrolebinding.yaml \
|
||||||
|
--set "csi.enabled=true" \
|
||||||
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.subjects[0].name' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "RELEASE-NAME-vault-csi-provider" ]
|
||||||
|
}
|
|
@ -30,6 +30,17 @@ load _helpers
|
||||||
[ "${actual}" = "false" ]
|
[ "${actual}" = "false" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# serviceAccountName reference name
|
||||||
|
@test "csi/daemonset: serviceAccountName reference name" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$(helm template \
|
||||||
|
--show-only templates/csi-daemonset.yaml \
|
||||||
|
--set "csi.enabled=true" \
|
||||||
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.spec.template.spec.serviceAccountName' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "RELEASE-NAME-vault-csi-provider" ]
|
||||||
|
}
|
||||||
|
|
||||||
# Image
|
# Image
|
||||||
@test "csi/daemonset: image is configurable" {
|
@test "csi/daemonset: image is configurable" {
|
||||||
cd `chart_dir`
|
cd `chart_dir`
|
||||||
|
|
|
@ -21,6 +21,17 @@ load _helpers
|
||||||
[ "${actual}" = "true" ]
|
[ "${actual}" = "true" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# serviceAccountName reference name
|
||||||
|
@test "csi/daemonset: serviceAccountName name" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$(helm template \
|
||||||
|
--show-only templates/csi-serviceaccount.yaml \
|
||||||
|
--set "csi.enabled=true" \
|
||||||
|
. | tee /dev/stderr |
|
||||||
|
yq -r '.metadata.name' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "RELEASE-NAME-vault-csi-provider" ]
|
||||||
|
}
|
||||||
|
|
||||||
@test "csi/serviceAccount: specify annotations" {
|
@test "csi/serviceAccount: specify annotations" {
|
||||||
cd `chart_dir`
|
cd `chart_dir`
|
||||||
local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
|
|
|
@ -2,6 +2,41 @@
|
||||||
|
|
||||||
load _helpers
|
load _helpers
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
# disable / enable server deployment
|
||||||
|
|
||||||
|
@test "server/StatefulSet: disabled server.enabled" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$( (helm template \
|
||||||
|
--show-only templates/server-statefulset.yaml \
|
||||||
|
--set 'server.enabled=false' \
|
||||||
|
. || echo "---") | tee /dev/stderr |
|
||||||
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "false" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "server/StatefulSet: disabled server.enabled random string" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$( (helm template \
|
||||||
|
--show-only templates/server-statefulset.yaml \
|
||||||
|
--set 'server.enabled=blabla' \
|
||||||
|
. || echo "---") | tee /dev/stderr |
|
||||||
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "false" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "server/StatefulSet: enabled server.enabled explicit true" {
|
||||||
|
cd `chart_dir`
|
||||||
|
local actual=$( (helm template \
|
||||||
|
--show-only templates/server-statefulset.yaml \
|
||||||
|
--set 'server.enabled=true' \
|
||||||
|
. || echo "---") | tee /dev/stderr |
|
||||||
|
yq 'length > 0' | tee /dev/stderr)
|
||||||
|
[ "${actual}" = "true" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
#--------------------------------------------------------------------
|
||||||
|
|
||||||
@test "server/standalone-StatefulSet: default server.standalone.enabled" {
|
@test "server/standalone-StatefulSet: default server.standalone.enabled" {
|
||||||
cd `chart_dir`
|
cd `chart_dir`
|
||||||
local actual=$(helm template \
|
local actual=$(helm template \
|
||||||
|
|
|
@ -174,6 +174,9 @@ injector:
|
||||||
annotations: {}
|
annotations: {}
|
||||||
|
|
||||||
server:
|
server:
|
||||||
|
# If not set to true, Vault server will not be installed. See vault.mode in _helpers.tpl for implementation details
|
||||||
|
enabled: true
|
||||||
|
|
||||||
# Resource requests, limits, etc. for the server cluster placement. This
|
# Resource requests, limits, etc. for the server cluster placement. This
|
||||||
# should map directly to the value of the resources field for a PodSpec.
|
# should map directly to the value of the resources field for a PodSpec.
|
||||||
# By default no direct resource request is made.
|
# By default no direct resource request is made.
|
||||||
|
|
Loading…
Reference in a new issue