Skip to content

Commit cd47187

Browse files
committed
Fix the RBAC generation via kubebuilder and sync with helm chart template
1 parent 43cef32 commit cd47187

File tree

4 files changed

+101
-142
lines changed

4 files changed

+101
-142
lines changed

Makefile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,15 @@ deploy: install-kustomize install ## Deploy controller into the configured Kuber
204204
manifests: bin/controller-gen ## Generate (Kubebuilder) manifests e.g. CRD, RBAC etc.
205205
cd api && $(CONTROLLER_GEN) $(CRD_OPTIONS) webhook paths="./..." output:crd:artifacts:config=../config/base/crds output:webhook:artifacts:config=../config/base/webhook
206206
$(CONTROLLER_GEN) $(CRD_OPTIONS) rbac:roleName=manager-role paths="./controllers/..." output:rbac:artifacts:config=./config/base/rbac
207-
## Regenerate CRDs for the helm chart
207+
## Regenerate CRDs and RBAC for the helm chart
208208
cp config/base/crds/kafka.banzaicloud.io_cruisecontroloperations.yaml $(HELM_CRD_PATH)/cruisecontroloperations.yaml
209209
cp config/base/crds/kafka.banzaicloud.io_kafkaclusters.yaml $(HELM_CRD_PATH)/kafkaclusters.yaml
210210
cp config/base/crds/kafka.banzaicloud.io_kafkatopics.yaml $(HELM_CRD_PATH)/kafkatopics.yaml
211211
cp config/base/crds/kafka.banzaicloud.io_kafkausers.yaml $(HELM_CRD_PATH)/kafkausers.yaml
212+
@sed -n '1,/# RBAC_RULES_START - Do not edit between markers, managed by make manifests/p' charts/kafka-operator/templates/operator-rbac.yaml > charts/kafka-operator/templates/operator-rbac.yaml.tmp
213+
@awk '/^rules:$$/,0' config/base/rbac/role.yaml | tail -n +2 >> charts/kafka-operator/templates/operator-rbac.yaml.tmp
214+
@sed -n '/# RBAC_RULES_END/,$$p' charts/kafka-operator/templates/operator-rbac.yaml >> charts/kafka-operator/templates/operator-rbac.yaml.tmp
215+
@mv charts/kafka-operator/templates/operator-rbac.yaml.tmp charts/kafka-operator/templates/operator-rbac.yaml
212216

213217
fmt: ## Run go fmt against code.
214218
go fmt ./...

charts/kafka-operator/templates/operator-rbac.yaml

Lines changed: 75 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -26,227 +26,174 @@ metadata:
2626
app.kubernetes.io/version: {{ .Chart.AppVersion }}
2727
app.kubernetes.io/component: operator
2828
rules:
29-
- apiGroups:
30-
- projectcontour.io
31-
resources:
32-
- '*'
33-
verbs:
34-
- '*'
29+
# RBAC_RULES_START - Do not edit between markers, managed by make manifests
3530
- apiGroups:
3631
- ""
3732
resources:
38-
- events
33+
- configmaps
34+
- persistentvolumeclaims
35+
- secrets
36+
- services
3937
verbs:
4038
- create
41-
- apiGroups:
42-
- ""
43-
resources:
44-
- namespaces
45-
verbs:
39+
- delete
4640
- get
4741
- list
42+
- patch
43+
- update
4844
- watch
4945
- apiGroups:
50-
- apps
46+
- ""
5147
resources:
52-
- deployments
48+
- events
5349
verbs:
54-
- get
55-
- list
56-
- watch
5750
- create
58-
- update
59-
- patch
60-
- delete
61-
- apiGroups:
62-
- apps
63-
resources:
64-
- deployments/status
65-
verbs:
66-
- get
67-
- update
6851
- patch
6952
- apiGroups:
7053
- ""
7154
resources:
72-
- configmaps
55+
- namespaces
56+
- nodes
7357
verbs:
7458
- get
7559
- list
7660
- watch
77-
- create
78-
- update
79-
- patch
80-
- delete
8161
- apiGroups:
82-
- kafka.banzaicloud.io
62+
- ""
8363
resources:
84-
- kafkaclusters
85-
- kafkatopics
86-
- kafkausers
64+
- pods
8765
verbs:
88-
- get
89-
- list
90-
- watch
9166
- create
92-
- update
93-
- patch
9467
- delete
95-
- deletecollection
96-
- apiGroups:
97-
- kafka.banzaicloud.io
98-
resources:
99-
- kafkaclusters/status
100-
- kafkatopics/status
101-
- kafkausers/status
102-
verbs:
10368
- get
69+
- list
10470
- update
105-
- patch
71+
- watch
10672
- apiGroups:
107-
- kafka.banzaicloud.io
73+
- apps
10874
resources:
109-
- kafkaclusters/finalizers
75+
- deployments
11076
verbs:
11177
- create
11278
- delete
79+
- get
80+
- list
11381
- patch
11482
- update
83+
- watch
11584
- apiGroups:
116-
- kafka.banzaicloud.io
85+
- apps
11786
resources:
118-
- kafkausers/finalizers
87+
- deployments/status
11988
verbs:
120-
- create
121-
- delete
89+
- get
12290
- patch
12391
- update
12492
- apiGroups:
125-
- kafka.banzaicloud.io
93+
- cert-manager.io
12694
resources:
127-
- kafkatopics/finalizers
95+
- certificates
96+
- clusterissuers
97+
- issuers
12898
verbs:
12999
- create
130100
- delete
101+
- get
102+
- list
131103
- patch
132104
- update
105+
- watch
133106
- apiGroups:
134-
- kafka.banzaicloud.io
107+
- certificates.k8s.io
135108
resources:
136-
- cruisecontroloperations
109+
- certificatesigningrequests
137110
verbs:
138111
- create
139112
- delete
140-
- deletecollection
141113
- get
142114
- list
143115
- patch
144116
- update
145117
- watch
146118
- apiGroups:
147-
- kafka.banzaicloud.io
119+
- certificates.k8s.io
148120
resources:
149-
- cruisecontroloperations/status
121+
- certificatesigningrequests/approval
150122
verbs:
151-
- get
152-
- patch
153123
- update
154124
- apiGroups:
155-
- kafka.banzaicloud.io
125+
- certificates.k8s.io
156126
resources:
157-
- cruisecontroloperations/finalizers
127+
- signers
158128
verbs:
159-
- create
160-
- delete
161-
- patch
162-
- update
129+
- approve
163130
- apiGroups:
164-
- ""
131+
- coordination.k8s.io
165132
resources:
166-
- persistentvolumeclaims
133+
- leases
167134
verbs:
168-
- get
169-
- update
170135
- create
171-
- watch
172-
- list
173136
- delete
174-
- apiGroups:
175-
- ""
176-
resources:
177-
- pods
178-
verbs:
179137
- get
138+
- list
139+
- patch
180140
- update
181-
- create
182141
- watch
183-
- list
184-
- delete
185142
- apiGroups:
186-
- ""
143+
- gateway.networking.k8s.io
187144
resources:
188-
- nodes
145+
- gateways
146+
- tcproutes
189147
verbs:
148+
- create
149+
- delete
190150
- get
191151
- list
152+
- patch
153+
- update
192154
- watch
193-
{{- if .Values.webhook.enabled }}
194155
- apiGroups:
195-
- admissionregistration.k8s.io
156+
- kafka.banzaicloud.io
196157
resources:
197-
- mutatingwebhookconfigurations
198-
- validatingwebhookconfigurations
158+
- cruisecontroloperations
159+
- kafkatopics
160+
- kafkausers
199161
verbs:
200-
- get
201-
- list
202-
- watch
203162
- create
204-
- update
205-
- patch
206163
- delete
207-
{{- end }}
208-
- apiGroups:
209-
- ""
210-
resources:
211-
- secrets
212-
verbs:
164+
- deletecollection
213165
- get
214166
- list
215-
- watch
216-
- create
217-
- update
218167
- patch
219-
- delete
168+
- update
169+
- watch
220170
- apiGroups:
221-
- ""
171+
- kafka.banzaicloud.io
222172
resources:
223-
- services
173+
- cruisecontroloperations/finalizers
174+
- kafkaclusters/finalizers
175+
- kafkatopics/finalizers
176+
- kafkausers/finalizers
224177
verbs:
225-
- get
226-
- list
227-
- watch
228178
- create
229-
- update
230-
- patch
231179
- delete
180+
- patch
181+
- update
232182
- apiGroups:
233-
- cert-manager.io
183+
- kafka.banzaicloud.io
234184
resources:
235-
- issuers
236-
- clusterissuers
237-
- certificates
185+
- cruisecontroloperations/status
186+
- kafkaclusters/status
187+
- kafkatopics/status
188+
- kafkausers/status
238189
verbs:
239-
- create
240-
- delete
241190
- get
242-
- list
243191
- patch
244192
- update
245-
- watch
246193
- apiGroups:
247-
- certificates.k8s.io
194+
- kafka.banzaicloud.io
248195
resources:
249-
- certificatesigningrequests
196+
- kafkaclusters
250197
verbs:
251198
- create
252199
- delete
@@ -256,21 +203,9 @@ rules:
256203
- update
257204
- watch
258205
- apiGroups:
259-
- certificates.k8s.io
260-
resources:
261-
- certificatesigningrequests/approval
262-
verbs:
263-
- update
264-
- apiGroups:
265-
- certificates.k8s.io
266-
resources:
267-
- signers
268-
verbs:
269-
- approve
270-
- apiGroups:
271-
- coordination.k8s.io
206+
- policy
272207
resources:
273-
- leases
208+
- poddisruptionbudgets
274209
verbs:
275210
- create
276211
- delete
@@ -280,9 +215,9 @@ rules:
280215
- update
281216
- watch
282217
- apiGroups:
283-
- policy
218+
- projectcontour.io
284219
resources:
285-
- poddisruptionbudgets
220+
- httpproxies
286221
verbs:
287222
- create
288223
- delete
@@ -291,6 +226,7 @@ rules:
291226
- patch
292227
- update
293228
- watch
229+
# RBAC_RULES_END
294230
---
295231
apiVersion: rbac.authorization.k8s.io/v1
296232
kind: ClusterRoleBinding

config/base/rbac/role.yaml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ rules:
1919
- patch
2020
- update
2121
- watch
22+
- apiGroups:
23+
- ""
24+
resources:
25+
- events
26+
verbs:
27+
- create
28+
- patch
2229
- apiGroups:
2330
- ""
2431
resources:
@@ -114,7 +121,6 @@ rules:
114121
resources:
115122
- gateways
116123
- tcproutes
117-
- tlsroutes
118124
verbs:
119125
- create
120126
- delete
@@ -185,3 +191,15 @@ rules:
185191
- patch
186192
- update
187193
- watch
194+
- apiGroups:
195+
- projectcontour.io
196+
resources:
197+
- httpproxies
198+
verbs:
199+
- create
200+
- delete
201+
- get
202+
- list
203+
- patch
204+
- update
205+
- watch

0 commit comments

Comments
 (0)