[stable/prometheus] optional extra Ingress labels (#5186)

* [prometheus/stable] allow extra Ingress labels

A common pattern with the Traefik ingress controller is to run multiple
Traefik deployments with different Kubernetes label selectors, which
then discover only matching Ingress resources.

Add extraLabels configuration options to allow extra labels to be
configured on Prometheus Server and AlertManager resources.

* [prometheus/stable] Chart version => 6.2.2

* [prometheus/stable] error cases with empty extraLabels

I'd thought this was OK but upon further testing, discovered that it
generated errors in some cases. Use a range loop instead. Tested OK
with

* ingress enabled but no extra labels
* ingress enabled with extra labels
* both server and alertmanager components

* [stable/prometheus] behavioural changes => v6.3.1
This commit is contained in:
John Slee
2018-05-09 23:23:53 -07:00
committed by k8s-ci-robot
parent bf8bf9bea4
commit 195e50d96e
5 changed files with 17 additions and 1 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
name: prometheus
version: 6.4.1
version: 6.5.0
appVersion: 2.2.1
description: Prometheus is a monitoring system and time series database.
home: https://prometheus.io/
+2
View File
@@ -103,6 +103,7 @@ Parameter | Description | Default
`alertmanager.configMapOverrideName` | Prometheus alertmanager ConfigMap override where full-name is `{{.Release.Name}}-{{.Values.alertmanager.configMapOverrideName}}` and setting this value will prevent the default alertmanager ConfigMap from being generated | `""`
`alertmanager.ingress.enabled` | If true, alertmanager Ingress will be created | `false`
`alertmanager.ingress.annotations` | alertmanager Ingress annotations | `{}`
`alertmanager.ingress.extraLabels` | alertmanager Ingress additional labels | `{}`
`alertmanager.ingress.hosts` | alertmanager Ingress hostnames | `[]`
`alertmanager.ingress.tls` | alertmanager Ingress TLS configuration (YAML) | `[]`
`alertmanager.nodeSelector` | node labels for alertmanager pod assignment | `{}`
@@ -216,6 +217,7 @@ Parameter | Description | Default
`server.configMapOverrideName` | Prometheus server ConfigMap override where full-name is `{{.Release.Name}}-{{.Values.server.configMapOverrideName}}` and setting this value will prevent the default server ConfigMap from being generated | `""`
`server.ingress.enabled` | If true, Prometheus server Ingress will be created | `false`
`server.ingress.annotations` | Prometheus server Ingress annotations | `[]`
`server.ingress.extraLabels` | Prometheus server Ingress additional labels | `{}`
`server.ingress.hosts` | Prometheus server Ingress hostnames | `[]`
`server.ingress.tls` | Prometheus server Ingress TLS configuration (YAML) | `[]`
`server.nodeSelector` | node labels for Prometheus server pod assignment | `{}`
@@ -15,6 +15,9 @@ metadata:
component: "{{ .Values.alertmanager.name }}"
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
{{- range $key, $value := .Values.alertmanager.ingress.extraLabels }}
{{ $key }}: {{ $value }}
{{- end }}
name: {{ template "prometheus.alertmanager.fullname" . }}
spec:
rules:
@@ -15,6 +15,9 @@ metadata:
component: "{{ .Values.server.name }}"
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
{{- range $key, $value := .Values.server.ingress.extraLabels }}
{{ $key }}: {{ $value }}
{{- end }}
name: {{ template "prometheus.server.fullname" . }}
spec:
rules:
+8
View File
@@ -71,6 +71,10 @@ alertmanager:
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: 'true'
## alertmanager Ingress additional labels
##
extraLabels: {}
## alertmanager Ingress hostnames with optional path
## Must be provided if Ingress is enabled
##
@@ -479,6 +483,10 @@ server:
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: 'true'
## Prometheus server Ingress additional labels
##
extraLabels: {}
## Prometheus server Ingress hostnames with optional path
## Must be provided if Ingress is enabled
##