apiVersion: v1 kind: ServiceAccount metadata: name: zalando-postgres-operator namespace: default --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: zalando-postgres-operator rules: - apiGroups: - acid.zalan.do resources: - postgresqls - operatorconfigurations verbs: - "*" - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - create - get - apiGroups: - "" resources: - configmaps verbs: - get - apiGroups: - "" resources: - endpoints verbs: - create - delete - get - list - patch - watch # needed if zalando-postgres-operator account is used for pods as well - apiGroups: - "" resources: - secrets verbs: - create - update - delete - get - apiGroups: - "" resources: - nodes verbs: - get - list - watch - apiGroups: - "" resources: - persistentvolumeclaims verbs: - delete - get - list - apiGroups: - "" resources: - persistentvolumes verbs: - get - list - update # only for resizing AWS volumes - apiGroups: - "" resources: - pods verbs: - delete - get - list - watch - patch - apiGroups: - "" resources: - services verbs: - create - delete - get - patch - apiGroups: - apps resources: - statefulsets verbs: - create - delete - get - list - patch - apiGroups: - "" resources: - namespaces verbs: - get - apiGroups: - policy resources: - poddisruptionbudgets verbs: - create - delete - get - apiGroups: - "" resources: - serviceaccounts verbs: - get - create - apiGroups: - "rbac.authorization.k8s.io" resources: - rolebindings verbs: - get - create - apiGroups: - "rbac.authorization.k8s.io" resources: - clusterroles verbs: - bind resourceNames: - zalando-postgres-operator --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: zalando-postgres-operator roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: zalando-postgres-operator subjects: - kind: ServiceAccount # note: the cluster role binding needs to be defined # for every namespace the operator service account lives in. name: zalando-postgres-operator namespace: default