allow to configure publishNotReadyAddresses on server services (#694)

This commit is contained in:
Viacheslav Vasilyev 2022-03-17 18:52:53 +01:00 committed by GitHub
parent f59f3d4b13
commit 549d9b87b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 70 additions and 4 deletions

View file

@ -22,7 +22,7 @@ spec:
clusterIP: {{ .Values.server.service.clusterIP }} clusterIP: {{ .Values.server.service.clusterIP }}
{{- end }} {{- end }}
{{- include "service.externalTrafficPolicy" .Values.server.service }} {{- include "service.externalTrafficPolicy" .Values.server.service }}
publishNotReadyAddresses: true publishNotReadyAddresses: {{ .Values.server.service.publishNotReadyAddresses }}
ports: ports:
- name: {{ include "vault.scheme" . }} - name: {{ include "vault.scheme" . }}
port: {{ .Values.server.service.port }} port: {{ .Values.server.service.port }}

View file

@ -22,7 +22,7 @@ spec:
clusterIP: {{ .Values.server.service.clusterIP }} clusterIP: {{ .Values.server.service.clusterIP }}
{{- end }} {{- end }}
{{- include "service.externalTrafficPolicy" .Values.server.service }} {{- include "service.externalTrafficPolicy" .Values.server.service }}
publishNotReadyAddresses: true publishNotReadyAddresses: {{ .Values.server.service.publishNotReadyAddresses }}
ports: ports:
- name: {{ include "vault.scheme" . }} - name: {{ include "vault.scheme" . }}
port: {{ .Values.server.service.port }} port: {{ .Values.server.service.port }}

View file

@ -16,7 +16,7 @@ metadata:
{{ template "vault.service.annotations" .}} {{ template "vault.service.annotations" .}}
spec: spec:
clusterIP: None clusterIP: None
publishNotReadyAddresses: true publishNotReadyAddresses: {{ .Values.server.service.publishNotReadyAddresses }}
ports: ports:
- name: "{{ include "vault.scheme" . }}" - name: "{{ include "vault.scheme" . }}"
port: {{ .Values.server.service.port }} port: {{ .Values.server.service.port }}

View file

@ -24,7 +24,7 @@ spec:
{{- include "service.externalTrafficPolicy" .Values.server.service }} {{- include "service.externalTrafficPolicy" .Values.server.service }}
# We want the servers to become available even if they're not ready # We want the servers to become available even if they're not ready
# since this DNS is also used for join operations. # since this DNS is also used for join operations.
publishNotReadyAddresses: true publishNotReadyAddresses: {{ .Values.server.service.publishNotReadyAddresses }}
ports: ports:
- name: {{ include "vault.scheme" . }} - name: {{ include "vault.scheme" . }}
port: {{ .Values.server.service.port }} port: {{ .Values.server.service.port }}

View file

@ -197,3 +197,20 @@ load _helpers
[ "${actual}" = "null" ] [ "${actual}" = "null" ]
} }
@test "server/ha-active-Service: publishNotReadyAddresses can be changed" {
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.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-ha-active-service.yaml \
--set 'server.ha.enabled=true' \
--set 'server.service.publishNotReadyAddresses=false' \
. | tee /dev/stderr |
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "false" ]
}

View file

@ -208,3 +208,20 @@ load _helpers
[ "${actual}" = "null" ] [ "${actual}" = "null" ]
} }
@test "server/ha-standby-Service: publishNotReadyAddresses can be changed" {
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.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-ha-standby-service.yaml \
--set 'server.ha.enabled=true' \
--set 'server.service.publishNotReadyAddresses=false' \
. | tee /dev/stderr |
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "false" ]
}

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bats
load _helpers
@test "server/headless-Service: publishNotReadyAddresses can be changed" {
cd `chart_dir`
local actual=$(helm template \
--show-only templates/server-headless-service.yaml \
. | tee /dev/stderr |
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-headless-service.yaml \
--set 'server.service.publishNotReadyAddresses=false' \
. | tee /dev/stderr |
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "false" ]
}

View file

@ -175,6 +175,13 @@ load _helpers
. | tee /dev/stderr | . | tee /dev/stderr |
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr) yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "true" ] [ "${actual}" = "true" ]
local actual=$(helm template \
--show-only templates/server-service.yaml \
--set 'server.service.publishNotReadyAddresses=false' \
. | tee /dev/stderr |
yq -r '.spec.publishNotReadyAddresses' | tee /dev/stderr)
[ "${actual}" = "false" ]
} }
@test "server/Service: type empty by default" { @test "server/Service: type empty by default" {

View file

@ -749,6 +749,9 @@
"enabled": { "enabled": {
"type": "boolean" "type": "boolean"
}, },
"publishNotReadyAddresses": {
"type": "boolean"
},
"externalTrafficPolicy": { "externalTrafficPolicy": {
"type": "string" "type": "string"
}, },

View file

@ -506,6 +506,9 @@ server:
# or NodePort. # or NodePort.
#type: ClusterIP #type: ClusterIP
# Do not wait for pods to be ready
publishNotReadyAddresses: true
# The externalTrafficPolicy can be set to either Cluster or Local # The externalTrafficPolicy can be set to either Cluster or Local
# and is only valid for LoadBalancer and NodePort service types. # and is only valid for LoadBalancer and NodePort service types.
# The default value is Cluster. # The default value is Cluster.