{{- if and .Values.kubeStateMetrics.enabled .Values.rbac.create -}} apiVersion: {{ template "rbac.apiVersion" . }} kind: ClusterRole metadata: labels: {{- include "prometheus.kubeStateMetrics.labels" . | nindent 4 }} name: {{ template "prometheus.kubeStateMetrics.fullname" . }} rules: {{ if .Values.kubeStateMetrics.collectors.certificatesigningrequests }} - apiGroups: ["certificates.k8s.io"] resources: - certificatesigningrequests verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.configmaps }} - apiGroups: [""] resources: - configmaps verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.cronjobs }} - apiGroups: ["batch"] resources: - cronjobs verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.daemonsets }} - apiGroups: ["extensions", "apps"] resources: - daemonsets verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.deployments }} - apiGroups: ["extensions", "apps"] resources: - deployments verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.endpoints }} - apiGroups: [""] resources: - endpoints verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.horizontalpodautoscalers }} - apiGroups: ["autoscaling"] resources: - horizontalpodautoscalers verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.ingresses }} - apiGroups: ["extensions", "networking.k8s.io"] resources: - ingresses verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.jobs }} - apiGroups: ["batch"] resources: - jobs verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.limitranges }} - apiGroups: [""] resources: - limitranges verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.mutatingwebhookconfigurations }} - apiGroups: ["admissionregistration.k8s.io"] resources: - mutatingwebhookconfigurations verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.namespaces }} - apiGroups: [""] resources: - namespaces verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.networkpolicies }} - apiGroups: ["networking.k8s.io"] resources: - networkpolicies verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.nodes }} - apiGroups: [""] resources: - nodes verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.persistentvolumeclaims }} - apiGroups: [""] resources: - persistentvolumeclaims verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.persistentvolumes }} - apiGroups: [""] resources: - persistentvolumes verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.poddisruptionbudgets }} - apiGroups: ["policy"] resources: - poddisruptionbudgets verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.pods }} - apiGroups: [""] resources: - pods verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.replicasets }} - apiGroups: ["extensions", "apps"] resources: - replicasets verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.replicationcontrollers }} - apiGroups: [""] resources: - replicationcontrollers verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.resourcequotas }} - apiGroups: [""] resources: - resourcequotas verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.secrets }} - apiGroups: [""] resources: - secrets verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.services }} - apiGroups: [""] resources: - services verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.statefulsets }} - apiGroups: ["apps"] resources: - statefulsets verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.storageclasses }} - apiGroups: ["storage.k8s.io"] resources: - storageclasses verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.validatingwebhookconfigurations }} - apiGroups: ["admissionregistration.k8s.io"] resources: - validatingwebhookconfigurations verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.volumeattachments }} - apiGroups: ["storage.k8s.io"] resources: - volumeattachments verbs: ["list", "watch"] {{ end -}} {{ if .Values.kubeStateMetrics.collectors.verticalpodautoscalers }} - apiGroups: ["autoscaling.k8s.io"] resources: - verticalpodautoscalers verbs: ["list", "watch"] {{ end -}} {{- end }}