1
1
package rook_ceph
2
2
3
3
import (
4
- admissionregistrationv1 " k8s.io/api/admissionregistration/v1 "
5
4
appsv1 " k8s.io/api/apps/v1 "
6
5
batchv1 " k8s.io/api/batch/v1 "
7
6
" k8s.io/api/core/v1 "
@@ -26,13 +25,37 @@ import (
26
25
apiGroups : [v1 .#GroupName ]
27
26
resources : [" nodes " ]
28
27
verbs : [" get " ]
28
+ }, {
29
+ apiGroups : [v1 .#GroupName ]
30
+ resources : [" secrets " ]
31
+ verbs : [" get " ]
32
+ }, {
33
+ apiGroups : [v1 .#GroupName ]
34
+ resources : [" configmaps " ]
35
+ verbs : [" get " ]
36
+ }, {
37
+ apiGroups : [v1 .#GroupName ]
38
+ resources : [" serviceaccounts " ]
39
+ verbs : [" get " ]
40
+ }, {
41
+ apiGroups : [v1 .#GroupName ]
42
+ resources : [" serviceaccounts/token " ]
43
+ verbs : [" create " ]
29
44
}]
30
45
}, {
31
46
metadata : name : " cephfs-external-provisioner-runner "
32
47
rules : [{
33
48
apiGroups : [v1 .#GroupName ]
34
49
resources : [" secrets " ]
35
50
verbs : [" get " , " list " ]
51
+ }, {
52
+ apiGroups : [v1 .#GroupName ]
53
+ resources : [" configmaps " ]
54
+ verbs : [" get " ]
55
+ }, {
56
+ apiGroups : [v1 .#GroupName ]
57
+ resources : [" nodes " ]
58
+ verbs : [" get " , " list " , " watch " ]
36
59
}, {
37
60
apiGroups : [storagev1 .#GroupName ]
38
61
resources : [" csinodes " ]
@@ -93,6 +116,18 @@ import (
93
116
apiGroups : [" groupsnapshot.storage.k8s.io " ]
94
117
resources : [" volumegroupsnapshotcontents/status " ]
95
118
verbs : [" update " , " patch " ]
119
+ }, {
120
+ apiGroups : [v1 .#GroupName ]
121
+ resources : [" serviceaccounts " ]
122
+ verbs : [" get " ]
123
+ }, {
124
+ apiGroups : [v1 .#GroupName ]
125
+ resources : [" serviceaccounts/token " ]
126
+ verbs : [" create " ]
127
+ }, {
128
+ apiGroups : [" authentication.k8s.io " ]
129
+ resources : [" tokenreviews " ]
130
+ verbs : [" create " ]
96
131
}]
97
132
}, {
98
133
metadata : {
@@ -131,6 +166,10 @@ import (
131
166
apiGroups : [v1 .#GroupName ]
132
167
resources : [" nodes " ]
133
168
verbs : [" get " ]
169
+ }, {
170
+ apiGroups : [" authentication.k8s.io " ]
171
+ resources : [" tokenreviews " ]
172
+ verbs : [" create " ]
134
173
}]
135
174
}, {
136
175
metadata : name : " rbd-external-provisioner-runner "
@@ -218,6 +257,22 @@ import (
218
257
apiGroups : [v1 .#GroupName ]
219
258
resources : [" nodes " ]
220
259
verbs : [" get " , " list " , " watch " ]
260
+ }, {
261
+ apiGroups : [" gateway.networking.k8s.io " ]
262
+ resources : [" referencegrants " ]
263
+ verbs : [" get " , " list " , " watch " ]
264
+ }, {
265
+ apiGroups : [" replication.storage.openshift.io " ]
266
+ resources : [" volumegroupreplicationcontents " ]
267
+ verbs : [" get " , " list " , " watch " ]
268
+ }, {
269
+ apiGroups : [" replication.storage.openshift.io " ]
270
+ resources : [" volumegroupreplicationclasses " ]
271
+ verbs : [" get " , " list " , " watch " ]
272
+ }, {
273
+ apiGroups : [" authentication.k8s.io " ]
274
+ resources : [" tokenreviews " ]
275
+ verbs : [" create " ]
221
276
}]
222
277
}, {
223
278
metadata : {
@@ -247,8 +302,8 @@ import (
247
302
resources : [" pods " , " nodes " , " nodes/proxy " , " secrets " , " configmaps " ]
248
303
verbs : [" get " , " list " , " watch " ]
249
304
}, {
250
- apiGroups : [v1 .#GroupName ]
251
- resources : [" events " , " persistentvolumes " , " persistentvolumeclaims " , " endpoints " , " services " ]
305
+ apiGroups : [v1 .#GroupName , " discovery.k8s.io " ]
306
+ resources : [" events " , " persistentvolumes " , " persistentvolumeclaims " , " endpoints " , " services " , " endpointslices " , " endpointslices/restricted " ]
252
307
verbs : [" get " , " list " , " watch " , " patch " , " create " , " update " , " delete " ]
253
308
}, {
254
309
apiGroups : [storagev1 .#GroupName ]
@@ -259,7 +314,6 @@ import (
259
314
resources : [" jobs " , " cronjobs " ]
260
315
verbs : [" get " , " list " , " watch " , " create " , " update " , " delete " , " deletecollection " ]
261
316
}, {
262
- // The Rook operator must be able to watch all ceph.rook.io resources to reconcile them.
263
317
apiGroups : [" ceph.rook.io " ]
264
318
resources : [
265
319
" cephclients " ,
@@ -282,8 +336,6 @@ import (
282
336
]
283
337
verbs : [" get " , " list " , " watch " , " update " ]
284
338
}, {
285
- // Ideally the update permission is not required, but Rook needs it to add finalizers to resources.
286
- // Rook must have update access to status subresources for its custom resources.
287
339
apiGroups : [" ceph.rook.io " ]
288
340
resources : [
289
341
" cephclients/status " ,
@@ -439,14 +491,10 @@ import (
439
491
apiGroups : [v1 .#GroupName ]
440
492
resources : [" pods/exec " ]
441
493
verbs : [" create " ]
442
- }, {
443
- apiGroups : [admissionregistrationv1 .#GroupName ]
444
- resources : [" validatingwebhookconfigurations " ]
445
- verbs : [" create " , " get " , " delete " , " update " ]
446
494
}, {
447
495
apiGroups : [" csiaddons.openshift.io " ]
448
496
resources : [" networkfences " ]
449
- verbs : [" create " , " get " , " update " , " delete " , " watch " , " list " ]
497
+ verbs : [" create " , " get " , " update " , " delete " , " watch " , " list " , " deletecollection " ]
450
498
}, {
451
499
apiGroups : [" apiextensions.k8s.io " ]
452
500
resources : [" customresourcedefinitions " ]
0 commit comments