forked from rook/rook
Merge pull request #2975 from kshlm/aggregate-roles
ceph: Use aggregated ClusterRoles
This commit is contained in:
@@ -7,6 +7,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.rook.ceph.io/aggregate-to-rook-ceph-cluster-mgmt: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-cluster-mgmt-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.rook.ceph.io/aggregate-to-rook-ceph-cluster-mgmt: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -46,6 +60,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-global: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-global-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-global: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -115,6 +143,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-cluster: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-cluster-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-cluster: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -132,6 +174,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-system
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-system: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-system-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-system: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -150,6 +204,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-agent-mount: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-agent-mount-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-agent-mount: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -168,6 +236,21 @@ metadata:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-system-psp-user: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-system-psp-user-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-system-psp-user: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- apps
|
||||
|
||||
@@ -206,6 +206,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-cluster-mgmt: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-cluster-mgmt-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-cluster-mgmt: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -282,6 +296,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-global: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-global-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-global: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -351,6 +379,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-cluster: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-cluster-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-cluster: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -444,6 +486,19 @@ apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-system
|
||||
namespace: rook-ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-system: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-system-rules
|
||||
namespace: rook-ceph
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-system: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
|
||||
@@ -8,6 +8,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-csi-nodeplugin
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-csi-nodeplugin: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-csi-nodeplugin-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-csi-nodeplugin: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
|
||||
@@ -8,6 +8,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-external-provisioner-runner
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-external-provisioner-runner: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-external-provisioner-runner-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-external-provisioner-runner: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
|
||||
@@ -9,6 +9,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-csi-nodeplugin
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-csi-nodeplugin: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-csi-nodeplugin-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-csi-nodeplugin: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
|
||||
@@ -9,6 +9,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-external-provisioner-runner
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-external-provisioner-runner: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-external-provisioner-runner-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-external-provisioner-runner: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
|
||||
@@ -9,6 +9,19 @@ kind: ClusterRole
|
||||
metadata:
|
||||
name: prometheus
|
||||
namespace: rook-ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-prometheus: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: prometheus-rules
|
||||
namespace: rook-ceph
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-prometheus: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources:
|
||||
|
||||
@@ -407,20 +407,28 @@ func (h *CephInstaller) UninstallRookFromMultipleNS(systemNamespace string, name
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoleBindings().Delete("rook-ceph-mgr-cluster", nil)
|
||||
h.k8shelper.Clientset.CoreV1().ServiceAccounts(systemNamespace).Delete("rook-ceph-system", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-cluster-mgmt", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-cluster-mgmt-rules", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-mgr-cluster", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-mgr-cluster-rules", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-mgr-system", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-mgr-system-rules", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-global", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rook-ceph-global-rules", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().Roles(systemNamespace).Delete("rook-ceph-system", nil)
|
||||
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoleBindings().Delete("rbd-csi-nodeplugin", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rbd-csi-nodeplugin", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rbd-csi-nodeplugin-rules", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoleBindings().Delete("rbd-csi-provisioner-role", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rbd-external-provisioner-runner", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("rbd-external-provisioner-runner-rules", nil)
|
||||
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoleBindings().Delete("cephfs-csi-nodeplugin", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("cephfs-csi-nodeplugin", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("cephfs-csi-nodeplugin-rules", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoleBindings().Delete("cephfs-csi-provisioner-role", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("cephfs-external-provisioner-runner", nil)
|
||||
h.k8shelper.Clientset.RbacV1beta1().ClusterRoles().Delete("cephfs-external-provisioner-runner-rules", nil)
|
||||
|
||||
h.k8shelper.Clientset.CoreV1().ConfigMaps(systemNamespace).Delete("csi-rbd-config", nil)
|
||||
h.k8shelper.Clientset.CoreV1().ConfigMaps(systemNamespace).Delete("csi-cephfs-config", nil)
|
||||
|
||||
@@ -296,6 +296,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-cluster-mgmt: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-cluster-mgmt-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-cluster-mgmt: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -334,6 +348,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-global: "true"
|
||||
rules: []
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: rook-ceph-global-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-global: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -396,6 +424,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-cluster
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-cluster: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-cluster-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-cluster: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -416,6 +456,20 @@ metadata:
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-agent-mount: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-agent-mount-rules
|
||||
labels:
|
||||
operator: rook
|
||||
storage-backend: ceph
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-agent-mount: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -430,6 +484,19 @@ apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-system
|
||||
namespace: ` + namespace + `
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-system: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: rook-ceph-mgr-system-rules
|
||||
namespace: ` + namespace + `
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rook-ceph-mgr-system: "true"
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
@@ -526,6 +593,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-csi-nodeplugin
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-csi-nodeplugin: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-csi-nodeplugin-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-csi-nodeplugin: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
@@ -568,6 +647,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-external-provisioner-runner
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-external-provisioner-runner: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: rbd-external-provisioner-runner-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-rbd-external-provisioner-runner: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
@@ -633,6 +724,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-csi-nodeplugin
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-csi-nodeplugin: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-csi-nodeplugin-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-csi-nodeplugin: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["nodes"]
|
||||
@@ -674,6 +777,18 @@ kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-external-provisioner-runner
|
||||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-external-provisioner-runner: "true"
|
||||
rules: []
|
||||
---
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: cephfs-external-provisioner-runner-rules
|
||||
labels:
|
||||
rbac.ceph.rook.io/aggregate-to-cephfs-external-provisioner-runner: "true"
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
|
||||
Reference in New Issue
Block a user