From 2cdb664c113bd36dd57f2e8bce7ee43036d457e4 Mon Sep 17 00:00:00 2001 From: Emil Marklund Date: Thu, 14 Nov 2019 22:13:35 +0100 Subject: [PATCH] Now possible to define namespaces to scrape by prometheus (#18886) Signed-off-by: Emil Marklund --- stable/nginx-ingress/Chart.yaml | 2 +- stable/nginx-ingress/README.md | 1 + .../nginx-ingress/templates/controller-servicemonitor.yaml | 5 +++++ stable/nginx-ingress/values.yaml | 5 +++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/stable/nginx-ingress/Chart.yaml b/stable/nginx-ingress/Chart.yaml index 3927e7607c..a1dccec3ba 100644 --- a/stable/nginx-ingress/Chart.yaml +++ b/stable/nginx-ingress/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: nginx-ingress -version: 1.24.7 +version: 1.25.0 appVersion: 0.26.1 home: https://github.com/kubernetes/ingress-nginx description: An nginx Ingress controller that uses ConfigMap to store the nginx configuration. diff --git a/stable/nginx-ingress/README.md b/stable/nginx-ingress/README.md index 4548ba97c4..4422bfbf40 100644 --- a/stable/nginx-ingress/README.md +++ b/stable/nginx-ingress/README.md @@ -139,6 +139,7 @@ Parameter | Description | Default `controller.metrics.serviceMonitor.additionalLabels` | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}` `controller.metrics.serviceMonitor.honorLabels` | honorLabels chooses the metric's labels on collisions with target labels. | `false` `controller.metrics.serviceMonitor.namespace` | namespace where servicemonitor resource should be created | `the same namespace as nginx ingress` +`controller.metrics.serviceMonitor.namespaceSelector` | [namespaceSelector](https://github.com/coreos/prometheus-operator/blob/v0.34.0/Documentation/api.md#namespaceselector) to configure what namespaces to scrape | `will scrape the helm release namespace only` `controller.metrics.serviceMonitor.scrapeInterval` | interval between Prometheus scraping | `30s` `controller.metrics.prometheusRule.enabled` | Set this to `true` to create prometheusRules for Prometheus operator | `false` `controller.metrics.prometheusRule.additionalLabels` | Additional labels that can be used so prometheusRules will be discovered by Prometheus | `{}` diff --git a/stable/nginx-ingress/templates/controller-servicemonitor.yaml b/stable/nginx-ingress/templates/controller-servicemonitor.yaml index 3e6e9e33f1..e082b2f775 100644 --- a/stable/nginx-ingress/templates/controller-servicemonitor.yaml +++ b/stable/nginx-ingress/templates/controller-servicemonitor.yaml @@ -22,9 +22,14 @@ spec: {{- if .Values.controller.metrics.serviceMonitor.honorLabels }} honorLabels: true {{- end }} + {{- if .Values.controller.metrics.serviceMonitor.namespaceSelector }} + namespaceSelector: +{{ toYaml .Values.controller.metrics.serviceMonitor.namespaceSelector | indent 4 -}} + {{ else }} namespaceSelector: matchNames: - {{ .Release.Namespace }} + {{- end }} selector: matchLabels: app: {{ template "nginx-ingress.name" . }} diff --git a/stable/nginx-ingress/values.yaml b/stable/nginx-ingress/values.yaml index 69137d4a67..f4e58e41ca 100644 --- a/stable/nginx-ingress/values.yaml +++ b/stable/nginx-ingress/values.yaml @@ -364,6 +364,11 @@ controller: enabled: false additionalLabels: {} namespace: "" + namespaceSelector: {} + # Default: scrape .Release.Namespace only + # To scrape all, use the following: + # namespaceSelector: + # any: true scrapeInterval: 30s # honorLabels: true