From 030d3cd89db0e6d99ba5038bd12e2d0153112586 Mon Sep 17 00:00:00 2001 From: Tom Proctor Date: Fri, 21 May 2021 12:48:21 +0100 Subject: [PATCH] Add extraArgs value for CSI (#526) --- templates/csi-daemonset.yaml | 3 +++ test/unit/csi-daemonset.bats | 30 ++++++++++++++++++++++++++++++ values.schema.json | 3 +++ values.yaml | 3 +++ 4 files changed, 39 insertions(+) diff --git a/templates/csi-daemonset.yaml b/templates/csi-daemonset.yaml index b505d14..75bde9a 100644 --- a/templates/csi-daemonset.yaml +++ b/templates/csi-daemonset.yaml @@ -37,6 +37,9 @@ spec: args: - --endpoint=/provider/vault.sock - --debug={{ .Values.csi.debug }} + {{- if .Values.csi.extraArgs }} + {{- toYaml .Values.csi.extraArgs | nindent 12 }} + {{- end }} volumeMounts: - name: providervol mountPath: "/provider" diff --git a/test/unit/csi-daemonset.bats b/test/unit/csi-daemonset.bats index d2156ee..f0a62c2 100644 --- a/test/unit/csi-daemonset.bats +++ b/test/unit/csi-daemonset.bats @@ -110,6 +110,36 @@ load _helpers [ "${actual}" = "--debug=true" ] } +# Extra args +@test "csi/daemonset: extra args can be passed" { + 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.containers[0].args | length' | tee /dev/stderr) + [ "${actual}" = "2" ] + + local object=$(helm template \ + --show-only templates/csi-daemonset.yaml \ + --set "csi.enabled=true" \ + --set "csi.extraArgs={--foo=bar,--bar baz,first}" \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers[0]') + local actual=$(echo $object | + yq -r '.args | length' | tee /dev/stderr) + [ "${actual}" = "5" ] + local actual=$(echo $object | + yq -r '.args[2]' | tee /dev/stderr) + [ "${actual}" = "--foo=bar" ] + local actual=$(echo $object | + yq -r '.args[3]' | tee /dev/stderr) + [ "${actual}" = "--bar baz" ] + local actual=$(echo $object | + yq -r '.args[4]' | tee /dev/stderr) + [ "${actual}" = "first" ] +} + # updateStrategy @test "csi/daemonset: updateStrategy is configurable" { cd `chart_dir` diff --git a/values.schema.json b/values.schema.json index 95c2fd7..c399965 100644 --- a/values.schema.json +++ b/values.schema.json @@ -30,6 +30,9 @@ "enabled": { "type": "boolean" }, + "extraArgs": { + "type": "array" + }, "image": { "type": "object", "properties": { diff --git a/values.yaml b/values.yaml index 32975bc..f6b513e 100644 --- a/values.yaml +++ b/values.yaml @@ -773,3 +773,6 @@ csi: # Enables debug logging. debug: false + + # Pass arbitrary additional arguments to vault-csi-provider. + extraArgs: []