diff --git a/README.md b/README.md index f4ae7b0f..b58abf05 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,7 @@ Reloader can be configured to ignore the resources `secrets` and `configmaps` by You can also set the log format of Reloader to json by setting `logFormat` to `json` in values.yaml and apply the chart -You can enable to scrape Reloader's Prometheus metrics by setting `serviceMonitor.enabled` to `true` in values.yaml file. +You can enable to scrape Reloader's Prometheus metrics by setting `serviceMonitor.enabled` or `podMonitor.enabled` to `true` in values.yaml file. Service monitor will be removed in future releases of reloader in favour of Pod monitor. ## Help diff --git a/deployments/kubernetes/chart/reloader/templates/podmonitor.yaml b/deployments/kubernetes/chart/reloader/templates/podmonitor.yaml new file mode 100644 index 00000000..c6e9d8a9 --- /dev/null +++ b/deployments/kubernetes/chart/reloader/templates/podmonitor.yaml @@ -0,0 +1,31 @@ +{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) ( .Values.reloader.podMonitor.enabled ) }} +apiVersion: monitoring.coreos.com/v1 +kind: PodMonitor +metadata: + labels: +{{ include "reloader-labels.chart" . | indent 4 }} +{{- if .Values.reloader.podMonitor.labels }} +{{ toYaml .Values.reloader.podMonitor.labels | indent 4}} +{{- end }} + name: {{ template "reloader-fullname" . }} +{{- if .Values.reloader.podMonitor.namespace }} + namespace: {{ .Values.reloader.podMonitor.namespace }} +{{- end }} +spec: + podMetricsEndpoints: + - port: http + path: "/metrics" +{{- if .Values.reloader.podMonitor.interval }} + interval: {{ .Values.reloader.podMonitor.interval }} +{{- end }} +{{- if .Values.reloader.podMonitor.timeout }} + scrapeTimeout: {{ .Values.reloader.podMonitor.timeout }} +{{- end }} + jobLabel: {{ template "reloader-fullname" . }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + selector: + matchLabels: + {{ include "reloader-labels.chart" . | nindent 6 }} +{{- end }} \ No newline at end of file diff --git a/deployments/kubernetes/chart/reloader/values.yaml b/deployments/kubernetes/chart/reloader/values.yaml index 0bb8e985..7fdcd6ca 100644 --- a/deployments/kubernetes/chart/reloader/values.yaml +++ b/deployments/kubernetes/chart/reloader/values.yaml @@ -113,4 +113,15 @@ reloader: # labels: # Set timeout for scrape # timeout: 10s - + + podMonitor: + # enabling this requires service to be enabled as well, or no endpoints will be found + enabled: false + # Set the namespace the podMonitor should be deployed + # namespace: monitoring + # Set how frequently Prometheus should scrape + # interval: 30s + # Set labels for the podMonitor, use this to define your scrape label for Prometheus Operator + # labels: + # Set timeout for scrape + # timeout: 10s diff --git a/deployments/kubernetes/manifests/podmonitor.yaml b/deployments/kubernetes/manifests/podmonitor.yaml new file mode 100644 index 00000000..02746e7e --- /dev/null +++ b/deployments/kubernetes/manifests/podmonitor.yaml @@ -0,0 +1,3 @@ +--- +# Source: reloader/templates/podmonitor.yaml + diff --git a/deployments/kubernetes/templates/chart/values.yaml.tmpl b/deployments/kubernetes/templates/chart/values.yaml.tmpl index 2aeaae48..be67f844 100644 --- a/deployments/kubernetes/templates/chart/values.yaml.tmpl +++ b/deployments/kubernetes/templates/chart/values.yaml.tmpl @@ -114,3 +114,15 @@ reloader: # Set timeout for scrape # timeout: 10s + + podMonitor: + # enabling this requires service to be enabled as well, or no endpoints will be found + enabled: false + # Set the namespace the podMonitor should be deployed + # namespace: monitoring + # Set how frequently Prometheus should scrape + # interval: 30s + # Set labels for the podMonitor, use this to define your scrape label for Prometheus Operator + # labels: + # Set timeout for scrape + # timeout: 10s \ No newline at end of file