Integrating traefik
This commit is contained in:
69
opencloud/charts/traefik/templates/servicemonitor.yaml
Normal file
69
opencloud/charts/traefik/templates/servicemonitor.yaml
Normal file
@@ -0,0 +1,69 @@
|
||||
{{- if .Values.metrics.prometheus }}
|
||||
{{- if (.Values.metrics.prometheus.serviceMonitor).enabled }}
|
||||
{{- if (not (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1")) }}
|
||||
{{- if (not (.Values.metrics.prometheus.disableAPICheck)) }}
|
||||
{{- fail "ERROR: You have to deploy monitoring.coreos.com/v1 first" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
name: {{ template "traefik.fullname" . }}
|
||||
namespace: {{ .Values.metrics.prometheus.serviceMonitor.namespace | default (include "traefik.namespace" .) }}
|
||||
labels:
|
||||
{{- if (.Values.metrics.prometheus.service).enabled }}
|
||||
{{- include "traefik.metricsservicelabels" . | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "traefik.labels" . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.prometheus.serviceMonitor.additionalLabels }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
jobLabel: {{ .Values.metrics.prometheus.serviceMonitor.jobLabel | default .Release.Name }}
|
||||
endpoints:
|
||||
- targetPort: metrics
|
||||
path: /{{ .Values.metrics.prometheus.entryPoint }}
|
||||
{{- with .Values.metrics.prometheus.serviceMonitor.honorLabels }}
|
||||
honorLabels: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.prometheus.serviceMonitor.honorTimestamps }}
|
||||
honorTimestamps: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.prometheus.serviceMonitor.enableHttp2 }}
|
||||
enableHttp2: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.prometheus.serviceMonitor.followRedirects }}
|
||||
followRedirects: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.prometheus.serviceMonitor.interval }}
|
||||
interval: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .Values.metrics.prometheus.serviceMonitor.scrapeTimeout }}
|
||||
scrapeTimeout: {{ . }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.prometheus.serviceMonitor.metricRelabelings }}
|
||||
metricRelabelings:
|
||||
{{ tpl (toYaml .Values.metrics.prometheus.serviceMonitor.metricRelabelings | indent 6) . }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.prometheus.serviceMonitor.relabelings }}
|
||||
relabelings:
|
||||
{{ toYaml .Values.metrics.prometheus.serviceMonitor.relabelings | indent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.metrics.prometheus.serviceMonitor.namespaceSelector }}
|
||||
namespaceSelector:
|
||||
{{ toYaml .Values.metrics.prometheus.serviceMonitor.namespaceSelector | indent 4 -}}
|
||||
{{ else }}
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- {{ template "traefik.namespace" . }}
|
||||
{{- end }}
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- if (.Values.metrics.prometheus.service).enabled }}
|
||||
{{- include "traefik.metricslabelselector" . | nindent 6 }}
|
||||
{{- else }}
|
||||
{{- include "traefik.labelselector" . | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
Reference in New Issue
Block a user