Skip to content

Commit 9ec4747

Browse files
committed
use podMonitor instead of serviceMonitor to prevent monitoring data leakage
Signed-off-by: paulfantom <[email protected]>
1 parent d74c33a commit 9ec4747

File tree

5 files changed

+26
-34
lines changed

5 files changed

+26
-34
lines changed

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,9 @@ their default values.
103103
| `ingress.tls` | Ingress TLS configuration (YAML) | `[]` |
104104
| `ingress.className` | Ingress controller class name | `nginx` |
105105
| `metrics.enabled` | Enable metrics on Service | `false` |
106-
| `metrics.port` | TCP port on which the service metrics is exposed | `5001` |
107-
| `metrics.serviceMonitor.annotations` | Prometheus Operator ServiceMonitor annotations | `{}` |
108-
| `metrics.serviceMonitor.enable` | If true, Prometheus Operator ServiceMonitor will be created | `false` |
109-
| `metrics.serviceMonitor.labels` | Prometheus Operator ServiceMonitor labels | `{}` |
106+
| `metrics.podMonitor.annotations` | Prometheus Operator PodMonitor annotations | `{}` |
107+
| `metrics.podMonitor.enable` | If true, Prometheus Operator PodMonitor will be created | `false` |
108+
| `metrics.podMonitor.labels` | Prometheus Operator PodMonitor labels | `{}` |
110109
| `metrics.prometheusRule.annotations` | Prometheus Operator PrometheusRule annotations | `{}` |
111110
| `metrics.prometheusRule.enable` | If true, Prometheus Operator prometheusRule will be created | `false` |
112111
| `metrics.prometheusRule.labels` | Prometheus Operator prometheusRule labels | `{}` |

templates/podmonitor.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{{- if and .Values.metrics.enabled .Values.metrics.podMonitor.enabled -}}
2+
apiVersion: monitoring.coreos.com/v1
3+
kind: PodMonitor
4+
metadata:
5+
name: {{ template "docker-registry.fullname" . }}-podmonitor
6+
labels:
7+
app: {{ template "docker-registry.name" . }}-metrics
8+
release: {{ .Release.Name }}
9+
{{- if .Values.metrics.podMonitor.labels }}
10+
{{ toYaml .Values.metrics.podMonitor.labels | indent 4 }}
11+
{{- end }}
12+
spec:
13+
podMetricsEndpoints:
14+
- interval: 15s
15+
port: http-metrics
16+
selector:
17+
matchLabels:
18+
app: {{ template "docker-registry.name" . }}
19+
release: {{ .Release.Name }}
20+
heritage: {{ .Release.Service }}
21+
{{- end }}

templates/service.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,6 @@ spec:
3737
targetPort: 5000
3838
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
3939
nodePort: {{ .Values.service.nodePort }}
40-
{{- end }}
41-
{{- if .Values.metrics.enabled }}
42-
- port: {{ .Values.metrics.port }}
43-
protocol: TCP
44-
name: http-metrics
45-
targetPort: {{ (split ":" .Values.configData.http.debug.addr)._1 }}
4640
{{- end }}
4741
selector:
4842
app: {{ template "docker-registry.name" . }}

templates/servicemonitor.yaml

Lines changed: 0 additions & 21 deletions
This file was deleted.

values.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,8 @@ proxy:
118118

119119
metrics:
120120
enabled: false
121-
port: 5001
122-
# Create a prometheus-operator servicemonitor
123-
serviceMonitor:
121+
# Create a prometheus-operator podmonitor
122+
podMonitor:
124123
enabled: false
125124
labels: {}
126125
# prometheus-operator PrometheusRule defining alerting rules for a Prometheus instance

0 commit comments

Comments
 (0)