From c345dace4480f127e876cbd18cdeeff1cf5a3279 Mon Sep 17 00:00:00 2001 From: Nitya Dhanushkodi Date: Tue, 26 Jul 2022 22:38:34 -0700 Subject: [PATCH] update helm docs and connect inject tests --- .../test/unit/connect-inject-deployment.bats | 51 +++++++++++++++++++ charts/consul/values.yaml | 7 +++ 2 files changed, 58 insertions(+) diff --git a/charts/consul/test/unit/connect-inject-deployment.bats b/charts/consul/test/unit/connect-inject-deployment.bats index 658fca992c..d3beb7e051 100755 --- a/charts/consul/test/unit/connect-inject-deployment.bats +++ b/charts/consul/test/unit/connect-inject-deployment.bats @@ -1831,6 +1831,57 @@ EOF [[ "$output" =~ "setting global.peering.enabled to true requires connectInject.enabled to be true" ]] } +@test "connectInject/Deployment: -poll-server-expose-service=true is set when global.peering.enabled is true" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/connect-inject-deployment.yaml \ + --set 'connectInject.enabled=true' \ + --set 'global.peering.enabled=true' \ + . | tee /dev/stderr | + yq '.spec.template.spec.containers[0].command | any(contains("-poll-server-expose-service=true"))' | tee /dev/stderr) + + [ "${actual}" = "true" ] +} + +@test "connectInject/Deployment: -poll-server-expose-service=true is set when servers are enabled and peering is enabled" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/connect-inject-deployment.yaml \ + --set 'global.enabled=false' \ + --set 'server.enabled=true' \ + --set 'client.enabled=true' \ + --set 'connectInject.enabled=true' \ + --set 'global.peering.enabled=true' \ + . | tee /dev/stderr | + yq '.spec.template.spec.containers[0].command | any(contains("-poll-server-expose-service=true"))' | tee /dev/stderr) + + [ "${actual}" = "true" ] +} + +@test "connectInject/Deployment: -poll-server-expose-service is not set when servers are disabled" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/connect-inject-deployment.yaml \ + --set 'server.enabled=false' \ + --set 'connectInject.enabled=true' \ + --set 'global.peering.enabled=true' \ + . | tee /dev/stderr | + yq '.spec.template.spec.containers[0].command | any(contains("-poll-server-expose-service=true"))' | tee /dev/stderr) + + [ "${actual}" = "false" ] +} + +@test "connectInject/Deployment: -poll-server-expose-service is not set when peering is disabled" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/connect-inject-deployment.yaml \ + --set 'connectInject.enabled=true' \ + --set 'global.peering.enabled=false' \ + . | tee /dev/stderr | + yq '.spec.template.spec.containers[0].command | any(contains("-poll-server-expose-service=true"))' | tee /dev/stderr) + + [ "${actual}" = "false" ] +} #-------------------------------------------------------------------- # openshift diff --git a/charts/consul/values.yaml b/charts/consul/values.yaml index 8531488397..209ea60a16 100644 --- a/charts/consul/values.yaml +++ b/charts/consul/values.yaml @@ -1003,16 +1003,23 @@ server: # @type: boolean enabled: "-" # Type of service, supports LoadBalancer or NodePort. + # @type: string type: LoadBalancer + # If service is of type NodePort, configures the nodePorts. nodePort: + # Configures the nodePort to expose the Consul server http port. # @type: integer http: null + # Configures the nodePort to expose the Consul server https port. # @type: integer https: null + # Configures the nodePort to expose the Consul server serf port. # @type: integer serf: null + # Configures the nodePort to expose the Consul server rpc port. # @type: integer rpc: null + # Configures the nodePort to expose the Consul server grpc port. # @type: integer grpc: null # This value defines additional annotations for