@@ -43,6 +43,9 @@ subjects:
43
43
- kind : ServiceAccount
44
44
name : tenant-root
45
45
namespace : tenant-root
46
+ - kind : Group
47
+ name : tenant-root-super-admin
48
+ apiGroup : rbac.authorization.k8s.io
46
49
{{- end }}
47
50
{{- if hasPrefix "tenant-" .Release.Namespace }}
48
51
{{- $parts := splitList "-" .Release.Namespace }}
@@ -51,12 +54,18 @@ subjects:
51
54
- kind : ServiceAccount
52
55
name : {{ join "-" (slice $parts 0 (add $i 1)) }}
53
56
namespace : {{ join "-" (slice $parts 0 (add $i 1)) }}
57
+ - kind : Group
58
+ name : {{ join "-" (slice $parts 0 (add $i 1)) }}-super-admin
59
+ apiGroup : rbac.authorization.k8s.io
54
60
{{- end }}
55
61
{{- end }}
56
62
{{- end }}
57
63
- kind : ServiceAccount
58
64
name : {{ include "tenant.name" . }}
59
65
namespace : {{ include "tenant.name" . }}
66
+ - kind : Group
67
+ name : {{ include "tenant.name" . }}-super-admin
68
+ apiGroup : rbac.authorization.k8s.io
60
69
roleRef :
61
70
kind : Role
62
71
name : {{ include "tenant.name" . }}
@@ -84,6 +93,9 @@ subjects:
84
93
- kind : ServiceAccount
85
94
name : {{ include "tenant.name" . }}
86
95
namespace : {{ include "tenant.name" . }}
96
+ - kind : Group
97
+ name : {{ include "tenant.name" . }}-super-admin
98
+ apiGroup : rbac.authorization.k8s.io
87
99
roleRef :
88
100
kind : Role
89
101
name : {{ include "tenant.name" . }}
@@ -95,16 +107,47 @@ metadata:
95
107
name : {{ include "tenant.name" . }}-view
96
108
namespace : {{ include "tenant.name" . }}
97
109
rules :
98
- - apiGroups : ["apps.cozystack.io"]
99
- resources : ["*"]
100
- verbs : ["get", "list", "watch"]
101
- - apiGroups : ["helm.toolkit.fluxcd.io"]
102
- resources : ["helmreleases"]
103
- verbs : ["get", "list", "watch"]
104
- - apiGroups : [""]
105
- resources : ["pods", "pods/log"]
106
- verbs : ["get", "list", "watch"]
110
+ - apiGroups :
111
+ - rbac.authorization.k8s.io
112
+ resources :
113
+ - roles
114
+ verbs :
115
+ - get
116
+ - apiGroups :
117
+ - apps.cozystack.io
118
+ resources :
119
+ - " *"
120
+ verbs :
121
+ - get
122
+ - list
123
+ - watch
124
+ - apiGroups :
125
+ - helm.toolkit.fluxcd.io
126
+ resources :
127
+ - helmreleases
128
+ verbs :
129
+ - get
130
+ - list
131
+ - watch
132
+ - apiGroups :
133
+ - " "
134
+ resources :
135
+ - " *"
136
+ verbs :
137
+ - get
138
+ - list
139
+ - watch
140
+ - apiGroups :
141
+ - networking.k8s.io
142
+ resources :
143
+ - ingresses
144
+ verbs :
145
+ - get
146
+ - list
147
+ - watch
148
+
107
149
---
150
+
108
151
kind : RoleBinding
109
152
apiVersion : rbac.authorization.k8s.io/v1
110
153
metadata :
@@ -125,21 +168,46 @@ metadata:
125
168
name : {{ include "tenant.name" . }}-use
126
169
namespace : {{ include "tenant.name" . }}
127
170
rules :
171
+ - apiGroups : [rbac.authorization.k8s.io]
172
+ resources :
173
+ - roles
174
+ verbs :
175
+ - get
128
176
- apiGroups : ["apps.cozystack.io"]
129
- resources : ["*"]
130
- verbs : ["get", "list", "watch"]
177
+ resources :
178
+ - " *"
179
+ verbs :
180
+ - get
181
+ - list
182
+ - watch
131
183
- apiGroups : ["helm.toolkit.fluxcd.io"]
132
- resources : ["helmreleases"]
133
- verbs : ["get", "list", "watch"]
184
+ resources :
185
+ - helmreleases
186
+ verbs :
187
+ - get
188
+ - list
189
+ - watch
134
190
- apiGroups : [""]
135
- resources : ["pods", "pods/log"]
136
- verbs : ["get", "list", "watch"]
137
- - apiGroups : ["kubevirt.io"]
138
- resources : ["virtualmachines"]
139
- verbs : ["get", "list"]
191
+ resources :
192
+ - " *"
193
+ verbs :
194
+ - get
195
+ - list
196
+ - watch
197
+ - apiGroups : ["networking.k8s.io"]
198
+ resources :
199
+ - ingresses
200
+ verbs :
201
+ - get
202
+ - list
203
+ - watch
140
204
- apiGroups : ["subresources.kubevirt.io"]
141
- resources : ["virtualmachineinstances/console", "virtualmachineinstances/vnc"]
142
- verbs : ["get", "list"]
205
+ resources :
206
+ - virtualmachineinstances/console
207
+ - virtualmachineinstances/vnc
208
+ verbs :
209
+ - get
210
+ - list
143
211
---
144
212
kind : RoleBinding
145
213
apiVersion : rbac.authorization.k8s.io/v1
@@ -161,70 +229,135 @@ metadata:
161
229
name : {{ include "tenant.name" . }}-admin
162
230
namespace : {{ include "tenant.name" . }}
163
231
rules :
164
- - apiGroups : ["helm.toolkit.fluxcd.io"]
165
- resources : ["helmreleases"]
166
- verbs : ["get", "list", "watch", "create", "update", "patch", "delete"]
232
+ - apiGroups : [rbac.authorization.k8s.io]
233
+ resources :
234
+ - roles
235
+ verbs :
236
+ - get
167
237
- apiGroups : [""]
168
- resources : ["pods/log", "pods"]
169
- verbs : ["get", "list", "watch", "delete"]
238
+ resources :
239
+ - " *"
240
+ verbs :
241
+ - get
242
+ - list
243
+ - watch
244
+ - delete
245
+ - apiGroups : ["helm.toolkit.fluxcd.io"]
246
+ resources :
247
+ - helmreleases
248
+ verbs :
249
+ - get
250
+ - list
251
+ - watch
170
252
- apiGroups : ["kubevirt.io"]
171
- resources : ["virtualmachines"]
172
- verbs : ["get", "list"]
253
+ resources :
254
+ - virtualmachines
255
+ verbs :
256
+ - get
257
+ - list
173
258
- apiGroups : ["subresources.kubevirt.io"]
174
- resources : ["virtualmachineinstances/console", "virtualmachineinstances/vnc"]
175
- verbs : ["get", "list"]
259
+ resources :
260
+ - virtualmachineinstances/console
261
+ - virtualmachineinstances/vnc
262
+ verbs :
263
+ - get
264
+ - list
176
265
- apiGroups : ["apps.cozystack.io"]
177
- resources : ["buckets", "clickhouses", "ferretdb", "foos", "httpcaches", "kafkas", "kuberneteses", "mysqls", "natses", "postgreses", "rabbitmqs", "redises", "seaweedfses", "tcpbalancers", "virtualmachines", "vmdisks", "vminstances"]
178
- verbs : ["get", "list", "watch", "create", "update", "patch", "delete"]
266
+ resources :
267
+ - buckets
268
+ - clickhouses
269
+ - ferretdb
270
+ - foos
271
+ - httpcaches
272
+ - kafkas
273
+ - kuberneteses
274
+ - mysqls
275
+ - natses
276
+ - postgreses
277
+ - rabbitmqs
278
+ - redises
279
+ - seaweedfses
280
+ - tcpbalancers
281
+ - virtualmachines
282
+ - vmdisks
283
+ - vminstances
284
+ verbs :
285
+ - get
286
+ - list
287
+ - watch
288
+ - create
289
+ - update
290
+ - patch
291
+ - delete
292
+
179
293
180
294
---
181
- kind : RoleBinding
182
295
apiVersion : rbac.authorization.k8s.io/v1
296
+ kind : Role
183
297
metadata :
184
298
name : {{ include "tenant.name" . }}-admin
185
- namespace : {{ include "tenant.name" . }}
299
+ namespace : cozy-public
300
+ rules :
301
+ - apiGroups : ["source.toolkit.fluxcd.io"]
302
+ resources : ["helmrepositories"]
303
+ verbs :
304
+ - get
305
+ - list
306
+ - apiGroups :
307
+ - source.toolkit.fluxcd.io
308
+ resources :
309
+ - helmcharts
310
+ verbs :
311
+ - get
312
+ - list
313
+ - apiGroups : ["source.toolkit.fluxcd.io"]
314
+ resources :
315
+ - helmcharts
316
+ verbs : ["*"]
317
+ resourceNames :
318
+ - bucket
319
+ - clickhouse
320
+ - ferretdb
321
+ - foo
322
+ - httpcache
323
+ - kafka
324
+ - kubernetes
325
+ - mysql
326
+ - nats
327
+ - postgres
328
+ - rabbitmq
329
+ - redis
330
+ - seaweedfs
331
+ - tcpbalancer
332
+ - virtualmachine
333
+ - vmdisk
334
+ - vminstance
335
+
336
+ ---
337
+ apiVersion : rbac.authorization.k8s.io/v1
338
+ kind : RoleBinding
339
+ metadata :
340
+ name : {{ include "tenant.name" . }}-admin
341
+ namespace : cozy-public
186
342
subjects :
187
- - kind : Group
188
- name : {{ include "tenant.name" . }}-admin
189
- apiGroup : rbac.authorization.k8s.io
343
+ - kind : Group
344
+ name : {{ include "tenant.name" . }}-admin
345
+ apiGroup : rbac.authorization.k8s.io
190
346
roleRef :
191
347
kind : Role
192
348
name : {{ include "tenant.name" . }}-admin
193
349
apiGroup : rbac.authorization.k8s.io
194
350
---
195
- kind : Role
196
- apiVersion : rbac.authorization.k8s.io/v1
197
- metadata :
198
- name : {{ include "tenant.name" . }}-super-admin
199
- namespace : {{ include "tenant.name" . }}
200
- rules :
201
- - apiGroups : ["helm.toolkit.fluxcd.io"]
202
- resources : ["helmreleases"]
203
- verbs : ["get", "list", "watch", "create", "update", "patch", "delete"]
204
- - apiGroups : [""]
205
- resources : ["pods/log", "pods"]
206
- verbs : ["get", "list", "watch", "delete"]
207
- - apiGroups : ["kubevirt.io"]
208
- resources : ["virtualmachines"]
209
- verbs : ["get", "list"]
210
- - apiGroups : ["subresources.kubevirt.io"]
211
- resources : ["virtualmachineinstances/console", "virtualmachineinstances/vnc"]
212
- verbs : ["get", "list"]
213
- - apiGroups : ["apps.cozystack.io"]
214
- resources : ["*"]
215
- verbs : ["get", "list", "watch", "create", "update", "patch", "delete"]
216
-
217
- ---
218
351
kind : RoleBinding
219
352
apiVersion : rbac.authorization.k8s.io/v1
220
353
metadata :
221
- name : {{ include "tenant.name" . }}-super- admin
354
+ name : {{ include "tenant.name" . }}-admin
222
355
namespace : {{ include "tenant.name" . }}
223
356
subjects :
224
357
- kind : Group
225
- name : {{ include "tenant.name" . }}-super- admin
358
+ name : {{ include "tenant.name" . }}-admin
226
359
apiGroup : rbac.authorization.k8s.io
227
360
roleRef :
228
361
kind : Role
229
- name : {{ include "tenant.name" . }}-super- admin
362
+ name : {{ include "tenant.name" . }}-admin
230
363
apiGroup : rbac.authorization.k8s.io
0 commit comments