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:
|
annotations:
|
||||||
{{ template "vault.service.annotations" .}}
|
{{ template "vault.service.annotations" .}}
|
||||||
spec:
|
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
|
publishNotReadyAddresses: true
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: {{ include "vault.scheme" . }}
|
||||||
port: 8200
|
port: {{ .Values.server.service.port }}
|
||||||
targetPort: 8200
|
targetPort: {{ .Values.server.service.targetPort }}
|
||||||
- name: internal
|
{{- if and (.Values.server.service.nodePort) (eq (.Values.server.service.type | toString) "NodePort") }}
|
||||||
|
nodePort: {{ .Values.server.service.nodePort }}
|
||||||
|
{{- end }}
|
||||||
|
- name: https-internal
|
||||||
port: 8201
|
port: 8201
|
||||||
targetPort: 8201
|
targetPort: 8201
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -15,13 +15,21 @@ metadata:
|
||||||
annotations:
|
annotations:
|
||||||
{{ template "vault.service.annotations" .}}
|
{{ template "vault.service.annotations" .}}
|
||||||
spec:
|
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
|
publishNotReadyAddresses: true
|
||||||
ports:
|
ports:
|
||||||
- name: http
|
- name: {{ include "vault.scheme" . }}
|
||||||
port: 8200
|
port: {{ .Values.server.service.port }}
|
||||||
targetPort: 8200
|
targetPort: {{ .Values.server.service.targetPort }}
|
||||||
- name: internal
|
{{- if and (.Values.server.service.nodePort) (eq (.Values.server.service.type | toString) "NodePort") }}
|
||||||
|
nodePort: {{ .Values.server.service.nodePort }}
|
||||||
|
{{- end }}
|
||||||
|
- name: https-internal
|
||||||
port: 8201
|
port: 8201
|
||||||
targetPort: 8201
|
targetPort: 8201
|
||||||
selector:
|
selector:
|
||||||
|
|
|
@ -12,3 +12,148 @@ load _helpers
|
||||||
yq -r '.metadata.annotations["vaultIsAwesome"]' | tee /dev/stderr)
|
yq -r '.metadata.annotations["vaultIsAwesome"]' | tee /dev/stderr)
|
||||||
[ "${actual}" = "true" ]
|
[ "${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)
|
yq -r '.metadata.annotations["vaultIsAwesome"]' | tee /dev/stderr)
|
||||||
[ "${actual}" = "true" ]
|
[ "${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