107 lines
3.4 KiB
YAML
107 lines
3.4 KiB
YAML
|
{{- if .Values.prometheus.podMonitor.enabled }}
|
||
|
apiVersion: monitoring.coreos.com/v1
|
||
|
kind: PodMonitor
|
||
|
metadata:
|
||
|
name: {{ template "metallb.fullname" . }}-controller
|
||
|
labels:
|
||
|
{{- include "metallb.labels" . | nindent 4 }}
|
||
|
app.kubernetes.io/component: controller
|
||
|
{{- if .Values.prometheus.podMonitor.additionalLabels }}
|
||
|
{{ toYaml .Values.prometheus.podMonitor.additionalLabels | indent 4 }}
|
||
|
{{- end }}
|
||
|
{{- if .Values.prometheus.podMonitor.annotations }}
|
||
|
annotations:
|
||
|
{{ toYaml .Values.prometheus.podMonitor.annotations | indent 4 }}
|
||
|
{{- end }}
|
||
|
spec:
|
||
|
jobLabel: {{ .Values.prometheus.podMonitor.jobLabel | quote }}
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
{{- include "metallb.selectorLabels" . | nindent 6 }}
|
||
|
app.kubernetes.io/component: controller
|
||
|
namespaceSelector:
|
||
|
matchNames:
|
||
|
- {{ .Release.Namespace }}
|
||
|
podMetricsEndpoints:
|
||
|
- port: monitoring
|
||
|
path: /metrics
|
||
|
{{- if .Values.prometheus.podMonitor.interval }}
|
||
|
interval: {{ .Values.prometheus.podMonitor.interval }}
|
||
|
{{- end }}
|
||
|
{{- if .Values.prometheus.podMonitor.metricRelabelings }}
|
||
|
metricRelabelings:
|
||
|
{{- toYaml .Values.prometheus.podMonitor.metricRelabelings | nindent 4 }}
|
||
|
{{- end }}
|
||
|
{{- if .Values.prometheus.podMonitor.relabelings }}
|
||
|
relabelings:
|
||
|
{{- toYaml .Values.prometheus.podMonitor.relabelings | nindent 4 }}
|
||
|
{{- end }}
|
||
|
---
|
||
|
apiVersion: monitoring.coreos.com/v1
|
||
|
kind: PodMonitor
|
||
|
metadata:
|
||
|
name: {{ template "metallb.fullname" . }}-speaker
|
||
|
labels:
|
||
|
{{- include "metallb.labels" . | nindent 4 }}
|
||
|
app.kubernetes.io/component: speaker
|
||
|
{{- if .Values.prometheus.podMonitor.additionalLabels }}
|
||
|
{{ toYaml .Values.prometheus.podMonitor.additionalLabels | indent 4 }}
|
||
|
{{- end }}
|
||
|
{{- if .Values.prometheus.podMonitor.annotations }}
|
||
|
annotations:
|
||
|
{{ toYaml .Values.prometheus.podMonitor.annotations | indent 4 }}
|
||
|
{{- end }}
|
||
|
spec:
|
||
|
jobLabel: {{ .Values.prometheus.podMonitor.jobLabel | quote }}
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
{{- include "metallb.selectorLabels" . | nindent 6 }}
|
||
|
app.kubernetes.io/component: speaker
|
||
|
namespaceSelector:
|
||
|
matchNames:
|
||
|
- {{ .Release.Namespace }}
|
||
|
podMetricsEndpoints:
|
||
|
- port: monitoring
|
||
|
path: /metrics
|
||
|
{{- if .Values.prometheus.podMonitor.interval }}
|
||
|
interval: {{ .Values.prometheus.podMonitor.interval }}
|
||
|
{{- end }}
|
||
|
{{- if .Values.prometheus.podMonitor.metricRelabelings }}
|
||
|
metricRelabelings:
|
||
|
{{- toYaml .Values.prometheus.podMonitor.metricRelabelings | nindent 4 }}
|
||
|
{{- end }}
|
||
|
{{- if .Values.prometheus.podMonitor.relabelings }}
|
||
|
relabelings:
|
||
|
{{- toYaml .Values.prometheus.podMonitor.relabelings | nindent 4 }}
|
||
|
{{- end }}
|
||
|
---
|
||
|
{{- if .Values.prometheus.rbacPrometheus }}
|
||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
kind: Role
|
||
|
metadata:
|
||
|
name: {{ template "metallb.fullname" . }}-prometheus
|
||
|
rules:
|
||
|
- apiGroups:
|
||
|
- ""
|
||
|
resources:
|
||
|
- pods
|
||
|
verbs:
|
||
|
- get
|
||
|
- list
|
||
|
- watch
|
||
|
---
|
||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
kind: RoleBinding
|
||
|
metadata:
|
||
|
name: {{ template "metallb.fullname" . }}-prometheus
|
||
|
roleRef:
|
||
|
apiGroup: rbac.authorization.k8s.io
|
||
|
kind: Role
|
||
|
name: {{ template "metallb.fullname" . }}-prometheus
|
||
|
subjects:
|
||
|
- kind: ServiceAccount
|
||
|
name: {{ required ".Values.prometheus.serviceAccount must be defined when .Values.prometheus.podMonitor.enabled == true" .Values.prometheus.serviceAccount }}
|
||
|
namespace: {{ required ".Values.prometheus.namespace must be defined when .Values.prometheus.podMonitor.enabled == true" .Values.prometheus.namespace }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|