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 verbs: - "*" - apiGroups: - apiextensions.k8s.io resources: - customresourcedefinitions verbs: - create - get - apiGroups: - "" resources: - configmaps verbs: - get - apiGroups: - "" resources: - endpoints verbs: - create - delete - get - 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 - 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 --- 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