{{ if .Values.rbac.create }} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: {{ include "postgres-pod.serviceAccountName" . }} labels: app.kubernetes.io/name: {{ template "postgres-operator.name" . }} helm.sh/chart: {{ template "postgres-operator.chart" . }} app.kubernetes.io/managed-by: {{ .Release.Service }} app.kubernetes.io/instance: {{ .Release.Name }} rules: # Patroni needs to watch and manage config maps or endpoints {{- if toString .Values.configGeneral.kubernetes_use_configmaps | eq "true" }} - apiGroups: - "" resources: - configmaps verbs: - create - delete - deletecollection - get - list - patch - update - watch {{- else }} - apiGroups: - "" resources: - endpoints verbs: - create - delete - deletecollection - get - list - patch - update - watch {{- end }} # Patroni needs to watch pods - apiGroups: - "" resources: - pods verbs: - get - list - patch - update - watch # to let Patroni create a headless service - apiGroups: - "" resources: - services verbs: - create {{- if toString .Values.configKubernetes.spilo_privileged | eq "true" }} # to run privileged pods - apiGroups: - extensions resources: - podsecuritypolicies resourceNames: - privileged verbs: - use {{- end }} {{ end }}