From 3b4bbf7d51626fac627bd7f0d4abef2172856ff5 Mon Sep 17 00:00:00 2001 From: Duncan Schulze <13733349+duncaan@users.noreply.github.com> Date: Tue, 31 Dec 2024 11:46:25 -0500 Subject: [PATCH 1/5] [prometheus-push-gateway] Add lifecycle hooks (#5103) * [prometheus-push-gateway] Add lifecycle hooks Fixes #5102 Add support for lifecycle hooks in the push-gateway deployment. * Add lifecycle hooks configuration to `charts/prometheus-pushgateway/templates/deployment.yaml` * Add lifecycle hooks configuration to `charts/prometheus-pushgateway/templates/statefulset.yaml` * Add lifecycle hooks configuration options in `charts/prometheus-pushgateway/values.yaml` Signed-off-by: Duncan Schulze <13733349+duncaan@users.noreply.github.com> * address comments Signed-off-by: Duncan Schulze <13733349+duncaan@users.noreply.github.com> * Correct placement of lifecycle Signed-off-by: zeritti <47476160+zeritti@users.noreply.github.com> * Add CI test cases Signed-off-by: zeritti <47476160+zeritti@users.noreply.github.com> --------- Signed-off-by: Duncan Schulze <13733349+duncaan@users.noreply.github.com> Signed-off-by: zeritti <47476160+zeritti@users.noreply.github.com> Co-authored-by: zeritti <47476160+zeritti@users.noreply.github.com> Signed-off-by: Alexandre Joris --- charts/prometheus-pushgateway/Chart.yaml | 2 +- .../ci/automount-sa-token-values.yaml | 2 ++ .../ci/default-sts-values.yaml | 2 ++ .../ci/default-values.yaml | 1 + .../ci/extraargs-values.yaml | 3 +++ .../ci/extramanifests-values.yaml | 19 +++++++++++++++++++ .../ci/extravars-values.yaml | 4 ++++ .../ci/lifecycle-values.yaml | 5 +++++ .../ci/persistence-sts-values.yaml | 9 +++++++++ .../ci/persistence-values.yaml | 8 ++++++++ .../ci/podlabels-sts-values.yaml | 5 +++++ .../ci/podlabels-values.yaml | 4 ++++ .../ci/resources-values.yaml | 8 ++++++++ .../ci/securitycontext-values.yaml | 9 +++++++++ .../ci/servicelabels-values.yaml | 4 ++++ .../ci/servicemonitor-values.yaml | 7 +++++++ .../templates/_helpers.tpl | 3 +++ charts/prometheus-pushgateway/values.yaml | 6 ++++++ 18 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 charts/prometheus-pushgateway/ci/automount-sa-token-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/default-sts-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/default-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/extraargs-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/extramanifests-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/extravars-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/lifecycle-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/persistence-sts-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/persistence-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/podlabels-sts-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/podlabels-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/resources-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/securitycontext-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/servicelabels-values.yaml create mode 100644 charts/prometheus-pushgateway/ci/servicemonitor-values.yaml diff --git a/charts/prometheus-pushgateway/Chart.yaml b/charts/prometheus-pushgateway/Chart.yaml index 764803de2d01..3cd53338e9bc 100644 --- a/charts/prometheus-pushgateway/Chart.yaml +++ b/charts/prometheus-pushgateway/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 appVersion: "v1.10.0" description: A Helm chart for prometheus pushgateway name: prometheus-pushgateway -version: 2.15.0 +version: 2.16.0 home: https://github.com/prometheus/pushgateway sources: - https://github.com/prometheus/pushgateway diff --git a/charts/prometheus-pushgateway/ci/automount-sa-token-values.yaml b/charts/prometheus-pushgateway/ci/automount-sa-token-values.yaml new file mode 100644 index 000000000000..01edc785b340 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/automount-sa-token-values.yaml @@ -0,0 +1,2 @@ +--- +automountServiceAccountToken: false diff --git a/charts/prometheus-pushgateway/ci/default-sts-values.yaml b/charts/prometheus-pushgateway/ci/default-sts-values.yaml new file mode 100644 index 000000000000..d2163dce94f6 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/default-sts-values.yaml @@ -0,0 +1,2 @@ +# default sts values +runAsStatefulSet: true diff --git a/charts/prometheus-pushgateway/ci/default-values.yaml b/charts/prometheus-pushgateway/ci/default-values.yaml new file mode 100644 index 000000000000..d6c93d3e865b --- /dev/null +++ b/charts/prometheus-pushgateway/ci/default-values.yaml @@ -0,0 +1 @@ +# default values diff --git a/charts/prometheus-pushgateway/ci/extraargs-values.yaml b/charts/prometheus-pushgateway/ci/extraargs-values.yaml new file mode 100644 index 000000000000..9af57d52936f --- /dev/null +++ b/charts/prometheus-pushgateway/ci/extraargs-values.yaml @@ -0,0 +1,3 @@ +--- +extraArgs: + - "--log.level=debug" diff --git a/charts/prometheus-pushgateway/ci/extramanifests-values.yaml b/charts/prometheus-pushgateway/ci/extramanifests-values.yaml new file mode 100644 index 000000000000..a58767018faa --- /dev/null +++ b/charts/prometheus-pushgateway/ci/extramanifests-values.yaml @@ -0,0 +1,19 @@ +--- +extraManifests: + - apiVersion: v1 + kind: ConfigMap + metadata: + labels: + foo: bar + name: pushgateway-extra-cm-first + data: + FOO: "bar" + - apiVersion: v1 + kind: ConfigMap + metadata: + labels: + baz: qux + name: pushgateway-extra-cm-second + data: + pushgateway.txt: '{{ include "prometheus-pushgateway.fullname" . }}' + immutable: true diff --git a/charts/prometheus-pushgateway/ci/extravars-values.yaml b/charts/prometheus-pushgateway/ci/extravars-values.yaml new file mode 100644 index 000000000000..e19433e1409f --- /dev/null +++ b/charts/prometheus-pushgateway/ci/extravars-values.yaml @@ -0,0 +1,4 @@ +--- +extraVars: + - name: FOO + value: bar diff --git a/charts/prometheus-pushgateway/ci/lifecycle-values.yaml b/charts/prometheus-pushgateway/ci/lifecycle-values.yaml new file mode 100644 index 000000000000..84ba2de2bda8 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/lifecycle-values.yaml @@ -0,0 +1,5 @@ +--- +lifecycle: + preStop: + exec: + command: ["/bin/sh", "-c", "sleep 10"] diff --git a/charts/prometheus-pushgateway/ci/persistence-sts-values.yaml b/charts/prometheus-pushgateway/ci/persistence-sts-values.yaml new file mode 100644 index 000000000000..5958cbeae566 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/persistence-sts-values.yaml @@ -0,0 +1,9 @@ +--- +runAsStatefulSet: true +persistentVolume: + enabled: true + size: 1Gi + +persistentVolumeLabels: + foo: bar + baz: qux diff --git a/charts/prometheus-pushgateway/ci/persistence-values.yaml b/charts/prometheus-pushgateway/ci/persistence-values.yaml new file mode 100644 index 000000000000..324d3e17b0af --- /dev/null +++ b/charts/prometheus-pushgateway/ci/persistence-values.yaml @@ -0,0 +1,8 @@ +--- +persistentVolume: + enabled: true + size: 1Gi + +persistentVolumeLabels: + foo: bar + baz: qux diff --git a/charts/prometheus-pushgateway/ci/podlabels-sts-values.yaml b/charts/prometheus-pushgateway/ci/podlabels-sts-values.yaml new file mode 100644 index 000000000000..be64c65d3527 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/podlabels-sts-values.yaml @@ -0,0 +1,5 @@ +--- +runAsStatefulSet: true +podLabels: + foo: bar + baz: qux diff --git a/charts/prometheus-pushgateway/ci/podlabels-values.yaml b/charts/prometheus-pushgateway/ci/podlabels-values.yaml new file mode 100644 index 000000000000..3d672e4b7bd9 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/podlabels-values.yaml @@ -0,0 +1,4 @@ +--- +podLabels: + foo: bar + baz: qux diff --git a/charts/prometheus-pushgateway/ci/resources-values.yaml b/charts/prometheus-pushgateway/ci/resources-values.yaml new file mode 100644 index 000000000000..f4d1629ac835 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/resources-values.yaml @@ -0,0 +1,8 @@ +--- +resources: + requests: + cpu: 50m + memory: 32Mi + limits: + cpu: 100m + memory: 32Mi diff --git a/charts/prometheus-pushgateway/ci/securitycontext-values.yaml b/charts/prometheus-pushgateway/ci/securitycontext-values.yaml new file mode 100644 index 000000000000..c8f28e21b692 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/securitycontext-values.yaml @@ -0,0 +1,9 @@ +--- +containerSecurityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + seccompProfile: + type: RuntimeDefault diff --git a/charts/prometheus-pushgateway/ci/servicelabels-values.yaml b/charts/prometheus-pushgateway/ci/servicelabels-values.yaml new file mode 100644 index 000000000000..1802ef8cfcb9 --- /dev/null +++ b/charts/prometheus-pushgateway/ci/servicelabels-values.yaml @@ -0,0 +1,4 @@ +--- +serviceLabels: + foo: bar + baz: qux diff --git a/charts/prometheus-pushgateway/ci/servicemonitor-values.yaml b/charts/prometheus-pushgateway/ci/servicemonitor-values.yaml new file mode 100644 index 000000000000..3c0ba916eeef --- /dev/null +++ b/charts/prometheus-pushgateway/ci/servicemonitor-values.yaml @@ -0,0 +1,7 @@ +--- +serviceMonitor: + enabled: true + namespace: null + interval: 15s + additionalLabels: + release: prometheus diff --git a/charts/prometheus-pushgateway/templates/_helpers.tpl b/charts/prometheus-pushgateway/templates/_helpers.tpl index dcd42ff36bee..2d1f84056a96 100644 --- a/charts/prometheus-pushgateway/templates/_helpers.tpl +++ b/charts/prometheus-pushgateway/templates/_helpers.tpl @@ -224,6 +224,9 @@ containers: securityContext: {{- toYaml . | nindent 6 }} {{- end }} + {{- with .Values.lifecycle }} + lifecycle: {{ toYaml . | nindent 6 }} + {{- end }} volumeMounts: - name: storage-volume mountPath: "{{ .Values.persistentVolume.mountPath }}" diff --git a/charts/prometheus-pushgateway/values.yaml b/charts/prometheus-pushgateway/values.yaml index 85f267fdb864..4bc5e146281c 100644 --- a/charts/prometheus-pushgateway/values.yaml +++ b/charts/prometheus-pushgateway/values.yaml @@ -369,3 +369,9 @@ networkPolicy: {} # Array of extra K8s objects to deploy (evaluated as a template) # The value can hold an array of strings as well as objects extraManifests: [] + +# Lifecycle hooks configuration +lifecycle: {} +# preStop: +# exec: +# command: ["/bin/sh", "-c", "sleep 30"] From 237d627bfbaff9f72590675c0381d2af28384ea7 Mon Sep 17 00:00:00 2001 From: Alexandre Joris Date: Thu, 2 Jan 2025 16:27:20 +0100 Subject: [PATCH 2/5] kube-prometheus-stack(#5104): Added fallbackScrapeProtocol option to additionalServiceMonitors and additionalPodMonitors Signed-off-by: Alexandre Joris --- charts/kube-prometheus-stack/Chart.yaml | 2 +- .../templates/prometheus/podmonitors.yaml | 3 +++ .../templates/prometheus/servicemonitors.yaml | 3 +++ charts/kube-prometheus-stack/values.yaml | 10 ++++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/charts/kube-prometheus-stack/Chart.yaml b/charts/kube-prometheus-stack/Chart.yaml index 082a935dd929..b6102a777e0a 100644 --- a/charts/kube-prometheus-stack/Chart.yaml +++ b/charts/kube-prometheus-stack/Chart.yaml @@ -23,7 +23,7 @@ name: kube-prometheus-stack sources: - https://github.com/prometheus-community/helm-charts - https://github.com/prometheus-operator/kube-prometheus -version: 67.5.0 +version: 67.6.0 appVersion: v0.79.2 kubeVersion: ">=1.19.0-0" home: https://github.com/prometheus-operator/kube-prometheus diff --git a/charts/kube-prometheus-stack/templates/prometheus/podmonitors.yaml b/charts/kube-prometheus-stack/templates/prometheus/podmonitors.yaml index 4e748c23b5c9..b9609d807ccf 100644 --- a/charts/kube-prometheus-stack/templates/prometheus/podmonitors.yaml +++ b/charts/kube-prometheus-stack/templates/prometheus/podmonitors.yaml @@ -34,5 +34,8 @@ items: {{- if .sampleLimit }} sampleLimit: {{ .sampleLimit }} {{- end }} + {{- if .fallbackScrapeProtocol }} + fallbackScrapeProtocol: {{ .fallbackScrapeProtocol }} + {{- end }} {{- end }} {{- end }} diff --git a/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml b/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml index a7a301babc4e..5912255064fc 100644 --- a/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml +++ b/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml @@ -43,5 +43,8 @@ items: relabelings: {{ toYaml .relabelings | indent 8 }} {{- end }} + {{- if .fallbackScrapeProtocol -}} + fallbackScrapeProtocol: {{ .fallbackScrapeProtocol }} + {{- end }} {{- end }} {{- end }} diff --git a/charts/kube-prometheus-stack/values.yaml b/charts/kube-prometheus-stack/values.yaml index 2b6901679791..6760094284c6 100644 --- a/charts/kube-prometheus-stack/values.yaml +++ b/charts/kube-prometheus-stack/values.yaml @@ -4424,6 +4424,11 @@ prometheus: # replacement: $1 # action: replace + ## Fallback scrape protocol used by Prometheus for scraping metrics + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.ScrapeProtocol + ## + # fallbackScrapeProtocol: "" + additionalPodMonitors: [] ## Name of the PodMonitor to create ## @@ -4479,6 +4484,11 @@ prometheus: ## # podMetricsEndpoints: [] + ## Fallback scrape protocol used by Prometheus for scraping metrics + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.ScrapeProtocol + ## + # fallbackScrapeProtocol: "" + ## Configuration for thanosRuler ## ref: https://thanos.io/tip/components/rule.md/ ## From 2903208ae1a44f4972a90c821e0e9eeb77251099 Mon Sep 17 00:00:00 2001 From: Alexandre Joris Date: Thu, 2 Jan 2025 17:06:40 +0100 Subject: [PATCH 3/5] remove extra dash Signed-off-by: Alexandre Joris --- .../templates/prometheus/servicemonitors.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml b/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml index 5912255064fc..96a7ed65092b 100644 --- a/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml +++ b/charts/kube-prometheus-stack/templates/prometheus/servicemonitors.yaml @@ -43,7 +43,7 @@ items: relabelings: {{ toYaml .relabelings | indent 8 }} {{- end }} - {{- if .fallbackScrapeProtocol -}} + {{- if .fallbackScrapeProtocol }} fallbackScrapeProtocol: {{ .fallbackScrapeProtocol }} {{- end }} {{- end }} From f799bf849277701857cfe39ad16ba0b4f54060b9 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Fri, 3 Jan 2025 01:46:07 -0500 Subject: [PATCH 4/5] [kube-prometheus-stack] bump prom to 3.1.0 + deps (#5111) Signed-off-by: drfaust92 Signed-off-by: Alexandre Joris --- charts/kube-prometheus-stack/Chart.yaml | 4 ++-- charts/kube-prometheus-stack/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/kube-prometheus-stack/Chart.yaml b/charts/kube-prometheus-stack/Chart.yaml index b6102a777e0a..0ac40278a565 100644 --- a/charts/kube-prometheus-stack/Chart.yaml +++ b/charts/kube-prometheus-stack/Chart.yaml @@ -45,11 +45,11 @@ dependencies: version: "0.0.0" condition: crds.enabled - name: kube-state-metrics - version: "5.27.*" + version: "5.28.*" repository: https://prometheus-community.github.io/helm-charts condition: kubeStateMetrics.enabled - name: prometheus-node-exporter - version: "4.42.*" + version: "4.43.*" repository: https://prometheus-community.github.io/helm-charts condition: nodeExporter.enabled - name: grafana diff --git a/charts/kube-prometheus-stack/values.yaml b/charts/kube-prometheus-stack/values.yaml index 6760094284c6..6e96b684923c 100644 --- a/charts/kube-prometheus-stack/values.yaml +++ b/charts/kube-prometheus-stack/values.yaml @@ -3648,7 +3648,7 @@ prometheus: image: registry: quay.io repository: prometheus/prometheus - tag: v3.0.1 + tag: v3.1.0 sha: "" ## Tolerations for use with node taints From d9c70528a3fe80bc2bdec51311a905e78ed08788 Mon Sep 17 00:00:00 2001 From: Alexandre Joris Date: Fri, 3 Jan 2025 10:08:25 +0100 Subject: [PATCH 5/5] chore: bump chart version to 67.7.0 Signed-off-by: Alexandre Joris --- charts/kube-prometheus-stack/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/kube-prometheus-stack/Chart.yaml b/charts/kube-prometheus-stack/Chart.yaml index 0ac40278a565..e479711e8b48 100644 --- a/charts/kube-prometheus-stack/Chart.yaml +++ b/charts/kube-prometheus-stack/Chart.yaml @@ -23,7 +23,7 @@ name: kube-prometheus-stack sources: - https://github.com/prometheus-community/helm-charts - https://github.com/prometheus-operator/kube-prometheus -version: 67.6.0 +version: 67.7.0 appVersion: v0.79.2 kubeVersion: ">=1.19.0-0" home: https://github.com/prometheus-operator/kube-prometheus