Skip to content

Commit 29bc681

Browse files
authored
Fix the RBAC generation via kubebuilder and sync with helm chart template (#205)
1 parent edabd1f commit 29bc681

File tree

4 files changed

+97
-148
lines changed

4 files changed

+97
-148
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: 70 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@ metadata:
2626
app.kubernetes.io/version: {{ .Chart.AppVersion }}
2727
app.kubernetes.io/component: operator
2828
rules:
29+
# RBAC_RULES_START - Do not edit between markers, managed by make manifests
2930
- apiGroups:
30-
- servicemesh.cisco.com
31+
- ""
3132
resources:
32-
- istiomeshgateways
33+
- configmaps
34+
- persistentvolumeclaims
35+
- secrets
36+
- services
3337
verbs:
3438
- create
3539
- delete
@@ -38,124 +42,98 @@ rules:
3842
- patch
3943
- update
4044
- watch
41-
- apiGroups:
42-
- networking.istio.io
43-
resources:
44-
- '*'
45-
verbs:
46-
- '*'
47-
- apiGroups:
48-
- projectcontour.io
49-
resources:
50-
- '*'
51-
verbs:
52-
- '*'
5345
- apiGroups:
5446
- ""
5547
resources:
5648
- events
5749
verbs:
5850
- create
51+
- patch
5952
- apiGroups:
6053
- ""
6154
resources:
6255
- namespaces
56+
- nodes
6357
verbs:
6458
- get
6559
- list
6660
- watch
6761
- apiGroups:
68-
- apps
62+
- ""
6963
resources:
70-
- deployments
64+
- pods
7165
verbs:
72-
- get
73-
- list
74-
- watch
7566
- create
76-
- update
77-
- patch
7867
- delete
79-
- apiGroups:
80-
- apps
81-
resources:
82-
- deployments/status
83-
verbs:
8468
- get
69+
- list
8570
- update
86-
- patch
71+
- watch
8772
- apiGroups:
88-
- ""
73+
- apps
8974
resources:
90-
- configmaps
75+
- deployments
9176
verbs:
92-
- get
93-
- list
94-
- watch
9577
- create
96-
- update
97-
- patch
9878
- delete
99-
- apiGroups:
100-
- kafka.banzaicloud.io
101-
resources:
102-
- kafkaclusters
103-
- kafkatopics
104-
- kafkausers
105-
verbs:
10679
- get
10780
- list
108-
- watch
109-
- create
110-
- update
11181
- patch
112-
- delete
113-
- deletecollection
82+
- update
83+
- watch
11484
- apiGroups:
115-
- kafka.banzaicloud.io
85+
- apps
11686
resources:
117-
- kafkaclusters/status
118-
- kafkatopics/status
119-
- kafkausers/status
87+
- deployments/status
12088
verbs:
12189
- get
122-
- update
12390
- patch
91+
- update
12492
- apiGroups:
125-
- kafka.banzaicloud.io
93+
- cert-manager.io
12694
resources:
127-
- kafkaclusters/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-
- kafkausers/finalizers
109+
- certificatesigningrequests
137110
verbs:
138111
- create
139112
- delete
113+
- get
114+
- list
140115
- patch
141116
- update
117+
- watch
142118
- apiGroups:
143-
- kafka.banzaicloud.io
119+
- certificates.k8s.io
144120
resources:
145-
- kafkatopics/finalizers
121+
- certificatesigningrequests/approval
146122
verbs:
147-
- create
148-
- delete
149-
- patch
150123
- update
151124
- apiGroups:
152-
- kafka.banzaicloud.io
125+
- certificates.k8s.io
153126
resources:
154-
- cruisecontroloperations
127+
- signers
128+
verbs:
129+
- approve
130+
- apiGroups:
131+
- coordination.k8s.io
132+
resources:
133+
- leases
155134
verbs:
156135
- create
157136
- delete
158-
- deletecollection
159137
- get
160138
- list
161139
- patch
@@ -164,107 +142,63 @@ rules:
164142
- apiGroups:
165143
- kafka.banzaicloud.io
166144
resources:
167-
- cruisecontroloperations/status
145+
- cruisecontroloperations
146+
- kafkatopics
147+
- kafkausers
168148
verbs:
149+
- create
150+
- delete
151+
- deletecollection
169152
- get
153+
- list
170154
- patch
171155
- update
156+
- watch
172157
- apiGroups:
173158
- kafka.banzaicloud.io
174159
resources:
175160
- cruisecontroloperations/finalizers
161+
- kafkaclusters/finalizers
162+
- kafkatopics/finalizers
163+
- kafkausers/finalizers
176164
verbs:
177165
- create
178166
- delete
179167
- patch
180168
- update
181169
- apiGroups:
182-
- ""
170+
- kafka.banzaicloud.io
183171
resources:
184-
- persistentvolumeclaims
172+
- cruisecontroloperations/status
173+
- kafkaclusters/status
174+
- kafkatopics/status
175+
- kafkausers/status
185176
verbs:
186177
- get
178+
- patch
187179
- update
188-
- create
189-
- watch
190-
- list
191-
- delete
192180
- apiGroups:
193-
- ""
181+
- kafka.banzaicloud.io
194182
resources:
195-
- pods
183+
- kafkaclusters
196184
verbs:
197-
- get
198-
- update
199185
- create
200-
- watch
201-
- list
202186
- delete
203-
- apiGroups:
204-
- ""
205-
resources:
206-
- nodes
207-
verbs:
208-
- get
209-
- list
210-
- watch
211-
{{- if .Values.webhook.enabled }}
212-
- apiGroups:
213-
- admissionregistration.k8s.io
214-
resources:
215-
- mutatingwebhookconfigurations
216-
- validatingwebhookconfigurations
217-
verbs:
218187
- get
219188
- list
220-
- watch
221-
- create
222-
- update
223189
- patch
224-
- delete
225-
{{- end }}
226-
- apiGroups:
227-
- ""
228-
resources:
229-
- secrets
230-
verbs:
231-
- get
232-
- list
233-
- watch
234-
- create
235190
- update
236-
- patch
237-
- delete
238-
- apiGroups:
239-
- ""
240-
resources:
241-
- services
242-
verbs:
243-
- get
244-
- list
245191
- watch
246-
- create
247-
- update
248-
- patch
249-
- delete
250192
- apiGroups:
251-
- cert-manager.io
193+
- networking.istio.io
252194
resources:
253-
- issuers
254-
- clusterissuers
255-
- certificates
195+
- '*'
256196
verbs:
257-
- create
258-
- delete
259-
- get
260-
- list
261-
- patch
262-
- update
263-
- watch
197+
- '*'
264198
- apiGroups:
265-
- certificates.k8s.io
199+
- policy
266200
resources:
267-
- certificatesigningrequests
201+
- poddisruptionbudgets
268202
verbs:
269203
- create
270204
- delete
@@ -274,21 +208,9 @@ rules:
274208
- update
275209
- watch
276210
- apiGroups:
277-
- certificates.k8s.io
278-
resources:
279-
- certificatesigningrequests/approval
280-
verbs:
281-
- update
282-
- apiGroups:
283-
- certificates.k8s.io
284-
resources:
285-
- signers
286-
verbs:
287-
- approve
288-
- apiGroups:
289-
- coordination.k8s.io
211+
- projectcontour.io
290212
resources:
291-
- leases
213+
- httpproxies
292214
verbs:
293215
- create
294216
- delete
@@ -298,9 +220,9 @@ rules:
298220
- update
299221
- watch
300222
- apiGroups:
301-
- policy
223+
- servicemesh.cisco.com
302224
resources:
303-
- poddisruptionbudgets
225+
- istiomeshgateways
304226
verbs:
305227
- create
306228
- delete
@@ -309,6 +231,7 @@ rules:
309231
- patch
310232
- update
311233
- watch
234+
# RBAC_RULES_END
312235
---
313236
apiVersion: rbac.authorization.k8s.io/v1
314237
kind: ClusterRoleBinding

0 commit comments

Comments
 (0)