From 3bfc596496f121de0cb429de310b7bcd9123d445 Mon Sep 17 00:00:00 2001 From: azman0101 Date: Tue, 22 Oct 2019 14:01:22 +0200 Subject: [PATCH] [stable/goldpinger] add ServiceMonitor (#18142) Signed-off-by: azman0101 --- stable/goldpinger/Chart.yaml | 2 +- stable/goldpinger/README.md | 5 +++ .../goldpinger/templates/servicemonitor.yaml | 32 +++++++++++++++++++ stable/goldpinger/values.yaml | 8 +++++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 stable/goldpinger/templates/servicemonitor.yaml diff --git a/stable/goldpinger/Chart.yaml b/stable/goldpinger/Chart.yaml index f49a93720b..3ff4e3f55c 100644 --- a/stable/goldpinger/Chart.yaml +++ b/stable/goldpinger/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: goldpinger -version: 1.2.0 +version: 1.2.1 appVersion: 1.5.0 description: Goldpinger makes calls between its instances for visibility and alerting. home: https://github.com/bloomberg/goldpinger diff --git a/stable/goldpinger/README.md b/stable/goldpinger/README.md index 6728316bd4..87a0cbc012 100644 --- a/stable/goldpinger/README.md +++ b/stable/goldpinger/README.md @@ -67,6 +67,11 @@ The following table lists the configurable parameters of the Goldpinger chart an | `resources` | CPU/Memory resource requests/limits | `{}` | | `podSecurityPolicy.enabled` | Enable podSecuritypolicy | `false` | | `podSecurityPolicy.policyName` | PodSecurityPolicy Name | `unrestricted-psp` | +| `serviceMonitor.enabled` | Set this to `true` to create ServiceMonitor for Prometheus operator | `false` | +| `serviceMonitor.additionalLabels` | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}` | +| `serviceMonitor.honorLabels` | honorLabels chooses the metric's labels on collisions with target labels. | `false`| +| `serviceMonitor.namespace` | namespace where servicemonitor resource should be created | `the same namespace as goldpinger` | +| `serviceMonitor.scrapeInterval` | interval between Prometheus scraping | `30s` | Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, diff --git a/stable/goldpinger/templates/servicemonitor.yaml b/stable/goldpinger/templates/servicemonitor.yaml new file mode 100644 index 0000000000..c450adf046 --- /dev/null +++ b/stable/goldpinger/templates/servicemonitor.yaml @@ -0,0 +1,32 @@ +{{- if .Values.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "goldpinger.fullname" . }} + {{- if .Values.serviceMonitor.namespace }} + namespace: {{ .Values.serviceMonitor.namespace }} + {{- end }} + labels: + app.kubernetes.io/name: {{ include "goldpinger.name" . }} + helm.sh/chart: {{ include "goldpinger.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + {{- range $key, $value := .Values.serviceMonitor.selector }} + {{ $key }}: {{ $value | quote }} + {{- end }} +spec: + endpoints: + - port: http + interval: {{ .Values.serviceMonitor.interval }} + {{- if .Values.serviceMonitor.honorLabels }} + honorLabels: true + {{- end }} + jobLabel: name + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + app.kubernetes.io/name: {{ template "goldpinger.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} \ No newline at end of file diff --git a/stable/goldpinger/values.yaml b/stable/goldpinger/values.yaml index 357d24d840..d6b992537c 100644 --- a/stable/goldpinger/values.yaml +++ b/stable/goldpinger/values.yaml @@ -76,3 +76,11 @@ affinity: {} podSecurityPolicy: enabled: false policyName: unrestricted-psp + +serviceMonitor: + enabled: false + selector: + prometheus: "kube-prometheus" + namespace: "monitoring" + interval: 30s + # honorLabels: true