{{- 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 }}