Allow setting HA services type (#317)
Making the types for active and standby services configurable (just like the main vault service).
This commit is contained in:
parent
78ca71d2eb
commit
8e982a6c9d
4 changed files with 316 additions and 10 deletions
|
@ -15,13 +15,21 @@ metadata:
|
|||
annotations:
|
||||
{{ template "vault.service.annotations" .}}
|
||||
spec:
|
||||
type: ClusterIP
|
||||
{{- if .Values.server.service.type}}
|
||||
type: {{ .Values.server.service.type }}
|
||||
{{- end}}
|
||||
{{- if .Values.server.service.clusterIP }}
|
||||
clusterIP: {{ .Values.server.service.clusterIP }}
|
||||
{{- end }}
|
||||
publishNotReadyAddresses: true
|
||||
ports:
|
||||
- name: http
|
||||
port: 8200
|
||||
targetPort: 8200
|
||||
- name: internal
|
||||
- name: {{ include "vault.scheme" . }}
|
||||
port: {{ .Values.server.service.port }}
|
||||
targetPort: {{ .Values.server.service.targetPort }}
|
||||
{{- if and (.Values.server.service.nodePort) (eq (.Values.server.service.type | toString) "NodePort") }}
|
||||
nodePort: {{ .Values.server.service.nodePort }}
|
||||
{{- end }}
|
||||
- name: https-internal
|
||||
port: 8201
|
||||
targetPort: 8201
|
||||
selector:
|
||||
|
|
|
@ -15,13 +15,21 @@ metadata:
|
|||
annotations:
|
||||
{{ template "vault.service.annotations" .}}
|
||||
spec:
|
||||
type: ClusterIP
|
||||
{{- if .Values.server.service.type}}
|
||||
type: {{ .Values.server.service.type }}
|
||||
{{- end}}
|
||||
{{- if .Values.server.service.clusterIP }}
|
||||
clusterIP: {{ .Values.server.service.clusterIP }}
|
||||
{{- end }}
|
||||
publishNotReadyAddresses: true
|
||||
ports:
|
||||
- name: http
|
||||
port: 8200
|
||||
targetPort: 8200
|
||||
- name: internal
|
||||
- name: {{ include "vault.scheme" . }}
|
||||
port: {{ .Values.server.service.port }}
|
||||
targetPort: {{ .Values.server.service.targetPort }}
|
||||
{{- if and (.Values.server.service.nodePort) (eq (.Values.server.service.type | toString) "NodePort") }}
|
||||
nodePort: {{ .Values.server.service.nodePort }}
|
||||
{{- end }}
|
||||
- name: https-internal
|
||||
port: 8201
|
||||
targetPort: 8201
|
||||
selector:
|
||||
|
|
|
@ -12,3 +12,148 @@ load _helpers
|
|||
yq -r '.metadata.annotations["vaultIsAwesome"]' | tee /dev/stderr)
|
||||
[ "${actual}" = "true" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: disable with ha.enabled false" {
|
||||
cd `chart_dir`
|
||||
local actual=$( (helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=false' \
|
||||
--set 'server.service.enabled=true' \
|
||||
. || echo "---") | tee /dev/stderr |
|
||||
yq 'length > 0' | tee /dev/stderr)
|
||||
[ "${actual}" = "false" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: disable with server.service.enabled false" {
|
||||
cd `chart_dir`
|
||||
local actual=$( (helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.enabled=false' \
|
||||
. || echo "---") | tee /dev/stderr |
|
||||
yq 'length > 0' | tee /dev/stderr)
|
||||
[ "${actual}" = "false" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: type empty by default" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.type' | tee /dev/stderr)
|
||||
[ "${actual}" = "null" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: type can set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.type=NodePort' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.type' | tee /dev/stderr)
|
||||
[ "${actual}" = "NodePort" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: clusterIP empty by default" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.clusterIP' | tee /dev/stderr)
|
||||
[ "${actual}" = "null" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: clusterIP can set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.clusterIP=None' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.clusterIP' | tee /dev/stderr)
|
||||
[ "${actual}" = "None" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: port and targetPort will be 8200 by default" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
||||
[ "${actual}" = "8200" ]
|
||||
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
||||
[ "${actual}" = "8200" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: port and targetPort can be set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.port=8000' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
||||
[ "${actual}" = "8000" ]
|
||||
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.targetPort=80' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
||||
[ "${actual}" = "80" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: nodeport can set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.type=NodePort' \
|
||||
--set 'server.service.nodePort=30009' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
||||
[ "${actual}" = "30009" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: nodeport can't set when type isn't NodePort" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.nodePort=30009' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
||||
[ "${actual}" = "null" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: vault port name is http, when tlsDisable is true" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'global.tlsDisable=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports | map(select(.port==8200)) | .[] .name' | tee /dev/stderr)
|
||||
[ "${actual}" = "http" ]
|
||||
}
|
||||
|
||||
@test "server/ha-active-Service: vault port name is https, when tlsDisable is false" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-active-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'global.tlsDisable=false' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports | map(select(.port==8200)) | .[] .name' | tee /dev/stderr)
|
||||
[ "${actual}" = "https" ]
|
||||
}
|
||||
|
|
|
@ -23,3 +23,148 @@ load _helpers
|
|||
yq -r '.metadata.annotations["vaultIsAwesome"]' | tee /dev/stderr)
|
||||
[ "${actual}" = "true" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: disable with ha.enabled false" {
|
||||
cd `chart_dir`
|
||||
local actual=$( (helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=false' \
|
||||
--set 'server.service.enabled=true' \
|
||||
. || echo "---") | tee /dev/stderr |
|
||||
yq 'length > 0' | tee /dev/stderr)
|
||||
[ "${actual}" = "false" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: disable with server.service.enabled false" {
|
||||
cd `chart_dir`
|
||||
local actual=$( (helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.enabled=false' \
|
||||
. || echo "---") | tee /dev/stderr |
|
||||
yq 'length > 0' | tee /dev/stderr)
|
||||
[ "${actual}" = "false" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: type empty by default" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.type' | tee /dev/stderr)
|
||||
[ "${actual}" = "null" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: type can set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.type=NodePort' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.type' | tee /dev/stderr)
|
||||
[ "${actual}" = "NodePort" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: clusterIP empty by default" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.clusterIP' | tee /dev/stderr)
|
||||
[ "${actual}" = "null" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: clusterIP can set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.clusterIP=None' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.clusterIP' | tee /dev/stderr)
|
||||
[ "${actual}" = "None" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: port and targetPort will be 8200 by default" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
||||
[ "${actual}" = "8200" ]
|
||||
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
||||
[ "${actual}" = "8200" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: port and targetPort can be set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.port=8000' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].port' | tee /dev/stderr)
|
||||
[ "${actual}" = "8000" ]
|
||||
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.targetPort=80' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].targetPort' | tee /dev/stderr)
|
||||
[ "${actual}" = "80" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: nodeport can set" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.type=NodePort' \
|
||||
--set 'server.service.nodePort=30009' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
||||
[ "${actual}" = "30009" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: nodeport can't set when type isn't NodePort" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'server.service.nodePort=30009' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports[0].nodePort' | tee /dev/stderr)
|
||||
[ "${actual}" = "null" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: vault port name is http, when tlsDisable is true" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'global.tlsDisable=true' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports | map(select(.port==8200)) | .[] .name' | tee /dev/stderr)
|
||||
[ "${actual}" = "http" ]
|
||||
}
|
||||
|
||||
@test "server/ha-standby-Service: vault port name is https, when tlsDisable is false" {
|
||||
cd `chart_dir`
|
||||
local actual=$(helm template \
|
||||
--show-only templates/server-ha-standby-service.yaml \
|
||||
--set 'server.ha.enabled=true' \
|
||||
--set 'global.tlsDisable=false' \
|
||||
. | tee /dev/stderr |
|
||||
yq -r '.spec.ports | map(select(.port==8200)) | .[] .name' | tee /dev/stderr)
|
||||
[ "${actual}" = "https" ]
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue