Skip to content

Commit

Permalink
Add logLevel and logFormat values for Vault (#488)
Browse files Browse the repository at this point in the history
* Add logLevel and logFormat values for Vault

* Add configurable tests

* Update order of log levels

* Update values.yaml

* Update per review

* Update test/unit/server-statefulset.bats

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>

* Update test/unit/server-statefulset.bats

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>

Co-authored-by: Tom Proctor <tomhjp@users.noreply.github.com>
  • Loading branch information
jasonodonnell and tomhjp committed Apr 8, 2021
1 parent ccebde9 commit ec67b5d
Show file tree
Hide file tree
Showing 5 changed files with 144 additions and 136 deletions.
8 changes: 8 additions & 0 deletions templates/server-statefulset.yaml
Expand Up @@ -117,6 +117,14 @@ spec:
{{- end }}
- name: HOME
value: "/home/vault"
{{- if .Values.server.logLevel }}
- name: VAULT_LOG_LEVEL
value: "{{ .Values.server.logLevel }}"
{{- end }}
{{- if .Values.server.logFormat }}
- name: VAULT_LOG_FORMAT
value: "{{ .Values.server.logFormat }}"
{{- end }}
{{ template "vault.envs" . }}
{{- include "vault.extraEnvironmentVars" .Values.server | nindent 12 }}
{{- include "vault.extraSecretEnvironmentVars" .Values.server | nindent 12 }}
Expand Down
50 changes: 18 additions & 32 deletions test/unit/server-dev-statefulset.bats
Expand Up @@ -246,13 +246,9 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[11].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_DEV_ROOT_TOKEN_ID" ]

local actual=$(echo $object |
yq -r '.[11].value' | tee /dev/stderr)
[ "${actual}" = "root" ]
local name=$(echo $object |
yq -r 'map(select(.name=="VAULT_DEV_ROOT_TOKEN_ID")) | .[] .value' | tee /dev/stderr)
[ "${name}" = "root" ]
}

@test "server/dev-StatefulSet: set custom devRootToken" {
Expand All @@ -264,13 +260,9 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[11].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_DEV_ROOT_TOKEN_ID" ]

local actual=$(echo $object |
yq -r '.[11].value' | tee /dev/stderr)
[ "${actual}" = "customtoken" ]
local name=$(echo $object |
yq -r 'map(select(.name=="VAULT_DEV_ROOT_TOKEN_ID")) | .[] .value' | tee /dev/stderr)
[ "${name}" = "customtoken" ]
}

#--------------------------------------------------------------------
Expand Down Expand Up @@ -340,27 +332,21 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[11].name' | tee /dev/stderr)
[ "${actual}" = "ENV_FOO_0" ]
local actual=$(echo $object |
yq -r '.[11].valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${actual}" = "secret_name_0" ]
local actual=$(echo $object |
yq -r '.[11].valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${actual}" = "secret_key_0" ]
local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_0")) | .[] .valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${value}" = "secret_name_0" ]

local actual=$(echo $object |
yq -r '.[12].name' | tee /dev/stderr)
[ "${actual}" = "ENV_FOO_1" ]
local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_0")) | .[] .valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${value}" = "secret_key_0" ]

local actual=$(echo $object |
yq -r '.[12].valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${actual}" = "secret_name_1" ]
local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_1")) | .[] .valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${value}" = "secret_name_1" ]

local actual=$(echo $object |
yq -r '.[12].valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${actual}" = "secret_key_1" ]
local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_1")) | .[] .valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${value}" = "secret_key_1" ]
}

#--------------------------------------------------------------------
Expand Down
115 changes: 40 additions & 75 deletions test/unit/server-ha-statefulset.bats
Expand Up @@ -70,14 +70,11 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[4].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_ADDR" ]

local actual=$(echo $object |
yq -r '.[4].value' | tee /dev/stderr)
[ "${actual}" = "http://127.0.0.1:8200" ]
local value=$(echo $object |
yq -r 'map(select(.name=="VAULT_ADDR")) | .[] .value' | tee /dev/stderr)
[ "${value}" = "http://127.0.0.1:8200" ]
}

@test "server/ha-StatefulSet: tls enabled" {
cd `chart_dir`
local object=$(helm template \
Expand All @@ -86,13 +83,9 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[4].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_ADDR" ]

local actual=$(echo $object |
yq -r '.[4].value' | tee /dev/stderr)
[ "${actual}" = "https://127.0.0.1:8200" ]
local value=$(echo $object |
yq -r 'map(select(.name=="VAULT_ADDR")) | .[] .value' | tee /dev/stderr)
[ "${value}" = "https://127.0.0.1:8200" ]
}

#--------------------------------------------------------------------
Expand Down Expand Up @@ -348,21 +341,13 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[11].name' | tee /dev/stderr)
[ "${actual}" = "FOO" ]
local value=$(echo $object |
yq -r 'map(select(.name=="FOO")) | .[] .value' | tee /dev/stderr)
[ "${value}" = "bar" ]

local actual=$(echo $object |
yq -r '.[11].value' | tee /dev/stderr)
[ "${actual}" = "bar" ]

local actual=$(echo $object |
yq -r '.[12].name' | tee /dev/stderr)
[ "${actual}" = "FOOBAR" ]

local actual=$(echo $object |
yq -r '.[12].value' | tee /dev/stderr)
[ "${actual}" = "foobar" ]
local value=$(echo $object |
yq -r 'map(select(.name=="FOOBAR")) | .[] .value' | tee /dev/stderr)
[ "${value}" = "foobar" ]
}

#--------------------------------------------------------------------
Expand All @@ -382,25 +367,21 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[11].name' | tee /dev/stderr)
[ "${actual}" = "ENV_FOO_0" ]
local actual=$(echo $object |
yq -r '.[11].valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${actual}" = "secret_name_0" ]
local actual=$(echo $object |
yq -r '.[11].valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${actual}" = "secret_key_0" ]
local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_0")) | .[] .valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${value}" = "secret_name_0" ]

local actual=$(echo $object |
yq -r '.[12].name' | tee /dev/stderr)
[ "${actual}" = "ENV_FOO_1" ]
local actual=$(echo $object |
yq -r '.[12].valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${actual}" = "secret_name_1" ]
local actual=$(echo $object |
yq -r '.[12].valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${actual}" = "secret_key_1" ]
local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_0")) | .[] .valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${value}" = "secret_key_0" ]

local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_1")) | .[] .valueFrom.secretKeyRef.name' | tee /dev/stderr)
[ "${value}" = "secret_name_1" ]

local value=$(echo $object |
yq -r 'map(select(.name=="ENV_FOO_1")) | .[] .valueFrom.secretKeyRef.key' | tee /dev/stderr)
[ "${value}" = "secret_key_1" ]
}

#--------------------------------------------------------------------
Expand All @@ -414,16 +395,12 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[5].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_API_ADDR" ]

local actual=$(echo $object |
yq -r '.[5].value' | tee /dev/stderr)
[ "${actual}" = 'http://$(POD_IP):8200' ]
local value=$(echo $object |
yq -r 'map(select(.name=="VAULT_API_ADDR")) | .[] .value' | tee /dev/stderr)
[ "${value}" = 'http://$(POD_IP):8200' ]
}

@test "server/ha-StatefulSet: api addr can be overriden" {
@test "server/ha-StatefulSet: api addr is configurable" {
cd `chart_dir`
local object=$(helm template \
--show-only templates/server-statefulset.yaml \
Expand All @@ -432,13 +409,9 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[5].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_API_ADDR" ]

local actual=$(echo $object |
yq -r '.[5].value' | tee /dev/stderr)
[ "${actual}" = 'https://example.com:8200' ]
local value=$(echo $object |
yq -r 'map(select(.name=="VAULT_API_ADDR")) | .[] .value' | tee /dev/stderr)
[ "${value}" = "https://example.com:8200" ]
}

#--------------------------------------------------------------------
Expand All @@ -453,13 +426,9 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[9].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_CLUSTER_ADDR" ]

local actual=$(echo $object |
yq -r '.[9].value' | tee /dev/stderr)
[ "${actual}" = 'https://$(HOSTNAME).RELEASE-NAME-vault-internal:8201' ]
local value=$(echo $object |
yq -r 'map(select(.name=="VAULT_CLUSTER_ADDR")) | .[] .value' | tee /dev/stderr)
[ "${value}" = 'https://$(HOSTNAME).RELEASE-NAME-vault-internal:8201' ]
}

#--------------------------------------------------------------------
Expand All @@ -475,13 +444,9 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[10].name' | tee /dev/stderr)
[ "${actual}" = "VAULT_RAFT_NODE_ID" ]

local actual=$(echo $object |
yq -r '.[10].valueFrom.fieldRef.fieldPath' | tee /dev/stderr)
[ "${actual}" = 'metadata.name' ]
local value=$(echo $object |
yq -r 'map(select(.name=="VAULT_RAFT_NODE_ID")) | .[] .valueFrom.fieldRef.fieldPath' | tee /dev/stderr)
[ "${value}" = "metadata.name" ]
}

#--------------------------------------------------------------------
Expand Down
96 changes: 68 additions & 28 deletions test/unit/server-statefulset.bats
Expand Up @@ -448,6 +448,62 @@ load _helpers
[ "${actual}" = "true" ]
}

#--------------------------------------------------------------------
# log level

@test "server/standalone-StatefulSet: default log level to empty" {
cd `chart_dir`
local objects=$(helm template \
--show-only templates/server-statefulset.yaml \
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local value=$(echo $objects |
yq -r 'map(select(.name=="VAULT_LOG_LEVEL")) | .[] .name' | tee /dev/stderr)
[ "${value}" = "" ]
}

@test "server/standalone-StatefulSet: log level can be changed" {
cd `chart_dir`
local objects=$(helm template \
--show-only templates/server-statefulset.yaml \
--set='server.logLevel=debug' \
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local value=$(echo $objects |
yq -r 'map(select(.name=="VAULT_LOG_LEVEL")) | .[] .value' | tee /dev/stderr)
[ "${value}" = "debug" ]
}

#--------------------------------------------------------------------
# log format

@test "server/standalone-StatefulSet: default log format to empty" {
cd `chart_dir`
local objects=$(helm template \
--show-only templates/server-statefulset.yaml \
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local value=$(echo $objects |
yq -r 'map(select(.name=="VAULT_LOG_FORMAT")) | .[] .name' | tee /dev/stderr)
[ "${value}" = "" ]
}

@test "server/standalone-StatefulSet: can set log format" {
cd `chart_dir`
local objects=$(helm template \
--show-only templates/server-statefulset.yaml \
--set='server.logFormat=json' \
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local value=$(echo $objects |
yq -r 'map(select(.name=="VAULT_LOG_FORMAT")) | .[] .value' | tee /dev/stderr)
[ "${value}" = "json" ]
}

#--------------------------------------------------------------------
# extraEnvironmentVars

Expand All @@ -461,21 +517,13 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[11].name' | tee /dev/stderr)
[ "${actual}" = "FOO" ]
local name=$(echo $object |
yq -r 'map(select(.name=="FOO")) | .[] .value' | tee /dev/stderr)
[ "${name}" = "bar" ]

local actual=$(echo $object |
yq -r '.[11].value' | tee /dev/stderr)
[ "${actual}" = "bar" ]

local actual=$(echo $object |
yq -r '.[12].name' | tee /dev/stderr)
[ "${actual}" = "FOOBAR" ]

local actual=$(echo $object |
yq -r '.[12].value' | tee /dev/stderr)
[ "${actual}" = "foobar" ]
local name=$(echo $object |
yq -r 'map(select(.name=="FOOBAR")) | .[] .value' | tee /dev/stderr)
[ "${name}" = "foobar" ]

local object=$(helm template \
--show-only templates/server-statefulset.yaml \
Expand All @@ -484,21 +532,13 @@ load _helpers
. | tee /dev/stderr |
yq -r '.spec.template.spec.containers[0].env' | tee /dev/stderr)

local actual=$(echo $object |
yq -r '.[11].name' | tee /dev/stderr)
[ "${actual}" = "FOO" ]
local name=$(echo $object |
yq -r 'map(select(.name=="FOO")) | .[] .value' | tee /dev/stderr)
[ "${name}" = "bar" ]

local actual=$(echo $object |
yq -r '.[11].value' | tee /dev/stderr)
[ "${actual}" = "bar" ]

local actual=$(echo $object |
yq -r '.[12].name' | tee /dev/stderr)
[ "${actual}" = "FOOBAR" ]

local actual=$(echo $object |
yq -r '.[12].value' | tee /dev/stderr)
[ "${actual}" = "foobar" ]
local name=$(echo $object |
yq -r 'map(select(.name=="FOOBAR")) | .[] .value' | tee /dev/stderr)
[ "${name}" = "foobar" ]
}

#--------------------------------------------------------------------
Expand Down

0 comments on commit ec67b5d

Please sign in to comment.