{{- if .Values.rbacEnable }} kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: rook-ceph-system labels: operator: rook storage-backend: ceph {{- include "library.rook-ceph.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: rook-ceph-system subjects: - kind: ServiceAccount name: rook-ceph-system namespace: {{ .Release.Namespace }} # namespace:operator --- # Grant the rook system daemons cluster-wide access to manage the Rook CRDs, PVCs, and storage classes kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: rook-ceph-global labels: operator: rook storage-backend: ceph {{- include "library.rook-ceph.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: rook-ceph-global subjects: - kind: ServiceAccount name: rook-ceph-system namespace: {{ .Release.Namespace }} # namespace:operator --- kind: ClusterRoleBinding # Give Rook-Ceph Operator permissions to provision ObjectBuckets in response to ObjectBucketClaims. apiVersion: rbac.authorization.k8s.io/v1 metadata: name: rook-ceph-object-bucket roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: rook-ceph-object-bucket subjects: - kind: ServiceAccount name: rook-ceph-system namespace: {{ .Release.Namespace }} # namespace:operator --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: rbd-csi-nodeplugin subjects: - kind: ServiceAccount name: rook-csi-rbd-plugin-sa namespace: {{ .Release.Namespace }} # namespace:operator roleRef: kind: ClusterRole name: rbd-csi-nodeplugin apiGroup: rbac.authorization.k8s.io --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: cephfs-csi-provisioner-role subjects: - kind: ServiceAccount name: rook-csi-cephfs-provisioner-sa namespace: {{ .Release.Namespace }} # namespace:operator roleRef: kind: ClusterRole name: cephfs-external-provisioner-runner apiGroup: rbac.authorization.k8s.io --- # This is required by operator-sdk to map the cluster/clusterrolebindings with SA # otherwise operator-sdk will create a individual file for these. kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: cephfs-csi-nodeplugin-role subjects: - kind: ServiceAccount name: rook-csi-cephfs-plugin-sa namespace: {{ .Release.Namespace }} # namespace:operator roleRef: kind: ClusterRole name: cephfs-csi-nodeplugin apiGroup: rbac.authorization.k8s.io --- {{- if .Values.csi.nfs.enabled }} kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: ceph-nfs-csi-provisioner-role subjects: - kind: ServiceAccount name: rook-csi-nfs-provisioner-sa namespace: {{ .Release.Namespace }} # namespace:operator roleRef: kind: ClusterRole name: ceph-nfs-external-provisioner-runner apiGroup: rbac.authorization.k8s.io --- # TODO: remove this, once https://github.com/rook/rook/issues/10141 # is resolved. kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: ceph-nfs-csi-nodeplugin-role subjects: - kind: ServiceAccount name: rook-csi-nfs-plugin-sa namespace: {{ .Release.Namespace }} # namespace:operator roleRef: kind: ClusterRole name: ceph-nfs-csi-nodeplugin apiGroup: rbac.authorization.k8s.io --- {{ end }} kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: rbd-csi-provisioner-role subjects: - kind: ServiceAccount name: rook-csi-rbd-provisioner-sa namespace: {{ .Release.Namespace }} # namespace:operator roleRef: kind: ClusterRole name: rbd-external-provisioner-runner apiGroup: rbac.authorization.k8s.io --- # RBAC for ceph cosi driver service account kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: objectstorage-provisioner-role-binding labels: app.kubernetes.io/part-of: container-object-storage-interface app.kubernetes.io/component: driver-ceph app.kubernetes.io/name: cosi-driver-ceph subjects: - kind: ServiceAccount name: objectstorage-provisioner namespace: {{ .Release.Namespace }} # namespace:operator roleRef: kind: ClusterRole name: objectstorage-provisioner-role apiGroup: rbac.authorization.k8s.io {{- end }}