153 lines
4.3 KiB
YAML
153 lines
4.3 KiB
YAML
{{- 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 }}
|