diff --git a/templates/server-statefulset.yaml b/templates/server-statefulset.yaml index f391ea1..bc2b450 100644 --- a/templates/server-statefulset.yaml +++ b/templates/server-statefulset.yaml @@ -53,8 +53,8 @@ spec: securityContext: capabilities: add: ["IPC_LOCK"] - image: "{{ .Values.global.image }}" - imagePullPolicy: {{ .Values.global.imagePullPolicy }} + image: {{ .Values.server.image.repository }}:{{ .Values.server.image.tag | default "latest" }} + imagePullPolicy: {{ .Values.server.image.pullPolicy }} command: {{ template "vault.command" . }} args: {{ template "vault.args" . }} env: diff --git a/test/unit/server-dev-statefulset.bats b/test/unit/server-dev-statefulset.bats index bcfb7b0..5f1e45a 100755 --- a/test/unit/server-dev-statefulset.bats +++ b/test/unit/server-dev-statefulset.bats @@ -23,15 +23,29 @@ load _helpers [ "${actual}" = "false" ] } -@test "server/dev-StatefulSet: image defaults to global.image" { +@test "server/dev-StatefulSet: image defaults to server.image.repository:tag" { cd `chart_dir` local actual=$(helm template \ -x templates/server-statefulset.yaml \ - --set 'global.image=foo' \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=1.2.3' \ --set 'server.dev.enabled=true' \ . | tee /dev/stderr | yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) - [ "${actual}" = "foo" ] + [ "${actual}" = "foo:1.2.3" ] +} + +@test "server/ha-StatefulSet: image tag defaults to latest" { + cd `chart_dir` + + local actual=$(helm template \ + -x templates/server-statefulset.yaml \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=' \ + --set 'server.dev.enabled=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) + [ "${actual}" = "foo:latest" ] } #-------------------------------------------------------------------- diff --git a/test/unit/server-ha-statefulset.bats b/test/unit/server-ha-statefulset.bats index 7c2a2af..833a304 100755 --- a/test/unit/server-ha-statefulset.bats +++ b/test/unit/server-ha-statefulset.bats @@ -23,22 +23,29 @@ load _helpers [ "${actual}" = "false" ] } -@test "server/ha-StatefulSet: image defaults to global.image" { +@test "server/ha-StatefulSet: image defaults to server.image.repository:tag" { cd `chart_dir` local actual=$(helm template \ -x templates/server-statefulset.yaml \ - --set 'global.image=foo' \ - . | tee /dev/stderr | - yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) - [ "${actual}" = "foo" ] - - local actual=$(helm template \ - -x templates/server-statefulset.yaml \ - --set 'global.image=foo' \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=1.2.3' \ --set 'server.ha.enabled=true' \ . | tee /dev/stderr | yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) - [ "${actual}" = "foo" ] + [ "${actual}" = "foo:1.2.3" ] +} + +@test "server/ha-StatefulSet: image tag defaults to latest" { + cd `chart_dir` + + local actual=$(helm template \ + -x templates/server-statefulset.yaml \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=' \ + --set 'server.ha.enabled=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) + [ "${actual}" = "foo:latest" ] } #-------------------------------------------------------------------- diff --git a/test/unit/server-statefulset.bats b/test/unit/server-statefulset.bats index f9eff95..fe38222 100755 --- a/test/unit/server-statefulset.bats +++ b/test/unit/server-statefulset.bats @@ -32,29 +32,50 @@ load _helpers [ "${actual}" = "false" ] } -@test "server/standalone-StatefulSet: image defaults to global.image" { +@test "server/standalone-StatefulSet: image defaults to server.image.repository:tag" { cd `chart_dir` local actual=$(helm template \ -x templates/server-statefulset.yaml \ - --set 'global.image=foo' \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=1.2.3' \ . | tee /dev/stderr | yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) - [ "${actual}" = "foo" ] + [ "${actual}" = "foo:1.2.3" ] local actual=$(helm template \ -x templates/server-statefulset.yaml \ - --set 'global.image=foo' \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=1.2.3' \ --set 'server.standalone.enabled=true' \ . | tee /dev/stderr | yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) - [ "${actual}" = "foo" ] + [ "${actual}" = "foo:1.2.3" ] +} + +@test "server/standalone-StatefulSet: image tag defaults to latest" { + cd `chart_dir` + local actual=$(helm template \ + -x templates/server-statefulset.yaml \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) + [ "${actual}" = "foo:latest" ] + + local actual=$(helm template \ + -x templates/server-statefulset.yaml \ + --set 'server.image.repository=foo' \ + --set 'server.image.tag=' \ + --set 'server.standalone.enabled=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.spec.containers[0].image' | tee /dev/stderr) + [ "${actual}" = "foo:latest" ] } @test "server/standalone-StatefulSet: default imagePullPolicy" { cd `chart_dir` local actual=$(helm template \ -x templates/server-statefulset.yaml \ - --set 'global.image=foo' \ . | tee /dev/stderr | yq -r '.spec.template.spec.containers[0].imagePullPolicy' | tee /dev/stderr) [ "${actual}" = "IfNotPresent" ] @@ -64,10 +85,10 @@ load _helpers cd `chart_dir` local actual=$(helm template \ -x templates/server-statefulset.yaml \ - --set 'global.imagePullPolicy=foo' \ + --set 'server.image.pullPolicy=Always' \ . | tee /dev/stderr | yq -r '.spec.template.spec.containers[0].imagePullPolicy' | tee /dev/stderr) - [ "${actual}" = "foo" ] + [ "${actual}" = "Always" ] } @test "server/standalone-StatefulSet: Custom imagePullSecrets" { diff --git a/values.yaml b/values.yaml index fc404d3..970da68 100644 --- a/values.yaml +++ b/values.yaml @@ -4,11 +4,6 @@ global: # enabled is the master enabled switch. Setting this to true or false # will enable or disable all the components within this chart by default. enabled: true - - # Image is the name (and tag) of the Vault Docker image. - image: "vault:1.2.4" - # Overrides the default Image Pull Policy - imagePullPolicy: IfNotPresent # Image pull secret to use for registry authentication. imagePullSecrets: [] # imagePullSecrets: @@ -21,6 +16,12 @@ server: # should map directly to the value of the resources field for a PodSpec. # By default no direct resource request is made. + image: + repository: "vault" + tag: 1.2.4 + # Overrides the default Image Pull Policy + pullPolicy: IfNotPresent + resources: # resources: # requests: