From d6223e68ddbdd843f0f8c2647c2e9b45b2acfdb5 Mon Sep 17 00:00:00 2001 From: Jitendra Gangwar Date: Tue, 29 Aug 2023 18:24:48 +0530 Subject: [PATCH] correct prometheus port and scheme annotations if tls is enabled (#2782) * correct prometheus port and scheme annotations if tls is enabled --- .changelog/2782.txt | 3 ++ .../consul/templates/server-statefulset.yaml | 6 ++++ .../consul/test/unit/server-statefulset.bats | 35 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 .changelog/2782.txt diff --git a/.changelog/2782.txt b/.changelog/2782.txt new file mode 100644 index 0000000000..f01db6bafa --- /dev/null +++ b/.changelog/2782.txt @@ -0,0 +1,3 @@ +```release-note:bug +helm: Update prometheus port and scheme annotations if tls is enabled +``` diff --git a/charts/consul/templates/server-statefulset.yaml b/charts/consul/templates/server-statefulset.yaml index 8987bd68c0..8210fa8bb3 100644 --- a/charts/consul/templates/server-statefulset.yaml +++ b/charts/consul/templates/server-statefulset.yaml @@ -119,7 +119,13 @@ spec: {{- if (and .Values.global.metrics.enabled .Values.global.metrics.enableAgentMetrics) }} "prometheus.io/scrape": "true" "prometheus.io/path": "/v1/agent/metrics" + {{- if .Values.global.tls.enabled }} + "prometheus.io/port": "8501" + "prometheus.io/scheme": "https" + {{- else }} "prometheus.io/port": "8500" + "prometheus.io/scheme": "http" + {{- end }} {{- end }} spec: {{- if .Values.server.affinity }} diff --git a/charts/consul/test/unit/server-statefulset.bats b/charts/consul/test/unit/server-statefulset.bats index 063c62b1a3..468020ce51 100755 --- a/charts/consul/test/unit/server-statefulset.bats +++ b/charts/consul/test/unit/server-statefulset.bats @@ -677,6 +677,41 @@ load _helpers [ "${actual}" = "/v1/agent/metrics" ] } +@test "server/StatefulSet: when global.metrics.enableAgentMetrics=true, adds prometheus scheme=http annotation" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/server-statefulset.yaml \ + --set 'global.metrics.enabled=true' \ + --set 'global.metrics.enableAgentMetrics=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.metadata.annotations."prometheus.io/scheme"' | tee /dev/stderr) + [ "${actual}" = "http" ] +} + +@test "server/StatefulSet: when global.metrics.enableAgentMetrics=true and global.tls.enabled=true, adds prometheus port=8501 annotation" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/server-statefulset.yaml \ + --set 'global.metrics.enabled=true' \ + --set 'global.metrics.enableAgentMetrics=true' \ + --set 'global.tls.enabled=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.metadata.annotations."prometheus.io/port"' | tee /dev/stderr) + [ "${actual}" = "8501" ] +} + +@test "server/StatefulSet: when global.metrics.enableAgentMetrics=true and global.tls.enabled=true, adds prometheus scheme=https annotation" { + cd `chart_dir` + local actual=$(helm template \ + -s templates/server-statefulset.yaml \ + --set 'global.metrics.enabled=true' \ + --set 'global.metrics.enableAgentMetrics=true' \ + --set 'global.tls.enabled=true' \ + . | tee /dev/stderr | + yq -r '.spec.template.metadata.annotations."prometheus.io/scheme"' | tee /dev/stderr) + [ "${actual}" = "https" ] +} + #-------------------------------------------------------------------- # config-configmap