Skip to content
This repository was archived by the owner on Mar 26, 2025. It is now read-only.

Commit 5c78148

Browse files
hi-im-arenpregnor
andauthored
Add Redhat Openshift support (#912)
* feat(mgr,wh,srv): changed port (443->)9443 RHOS requires ports to be over 1024. * chore(chart): updated service to use port names To decouple service ports from container ports. * feat(ctrlr,crd): added/extd finalizer RBAC gen So finalizer RBACs would be covered for create, delete, patch, update. Required for RHOS. After changing the controller markers the manifests were regenerated using `make manifests`. * chore(container): updated base image To an advertised tag. * feat(kcl): passed envoyConfig.PodSecurityContext RHOS requires the propagation of the envoy config podSecurityContext to set uid/gid. * chore(dep): upped api 2 v0.25.0 for podSecContext Required to be able to use the envoy podSecurityContext. --------- Co-authored-by: Patrik Egyed <[email protected]>
1 parent 78055db commit 5c78148

File tree

14 files changed

+101
-37
lines changed

14 files changed

+101
-37
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o manager
2222

2323
# Use distroless as minimal base image to package the manager binary
2424
# Refer to https://github.com/GoogleContainerTools/distroless for more details
25-
FROM gcr.io/distroless/static:latest
25+
FROM gcr.io/distroless/static-debian11:nonroot
2626
WORKDIR /
2727
COPY --from=builder /workspace/manager .
2828
ENTRYPOINT ["/manager"]

charts/kafka-operator/templates/operator-deployment-with-webhook.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ spec:
213213
{{- end }}
214214
ports:
215215
{{- if .Values.webhook.enabled }}
216-
- containerPort: {{ .Values.webhook.serverPort | default 443 }}
216+
- containerPort: {{ .Values.webhook.serverPort | default 9443 }}
217217
name: webhook-server
218218
protocol: TCP
219219
{{- end }}

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

Lines changed: 57 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,63 @@ rules:
115115
- get
116116
- update
117117
- patch
118+
- apiGroups:
119+
- kafka.banzaicloud.io
120+
resources:
121+
- kafkaclusters/finalizers
122+
verbs:
123+
- create
124+
- delete
125+
- patch
126+
- update
127+
- apiGroups:
128+
- kafka.banzaicloud.io
129+
resources:
130+
- kafkausers/finalizers
131+
verbs:
132+
- create
133+
- delete
134+
- patch
135+
- update
136+
- apiGroups:
137+
- kafka.banzaicloud.io
138+
resources:
139+
- kafkatopics/finalizers
140+
verbs:
141+
- create
142+
- delete
143+
- patch
144+
- update
145+
- apiGroups:
146+
- kafka.banzaicloud.io
147+
resources:
148+
- cruisecontroloperations
149+
verbs:
150+
- create
151+
- delete
152+
- deletecollection
153+
- get
154+
- list
155+
- patch
156+
- update
157+
- watch
158+
- apiGroups:
159+
- kafka.banzaicloud.io
160+
resources:
161+
- cruisecontroloperations/status
162+
verbs:
163+
- get
164+
- patch
165+
- update
166+
- apiGroups:
167+
- kafka.banzaicloud.io
168+
resources:
169+
- cruisecontroloperations/finalizers
170+
verbs:
171+
- create
172+
- delete
173+
- patch
174+
- update
118175
- apiGroups:
119176
- ""
120177
resources:
@@ -234,33 +291,6 @@ rules:
234291
- patch
235292
- update
236293
- watch
237-
- apiGroups:
238-
- kafka.banzaicloud.io
239-
resources:
240-
- cruisecontroloperations
241-
verbs:
242-
- create
243-
- delete
244-
- deletecollection
245-
- get
246-
- list
247-
- patch
248-
- update
249-
- watch
250-
- apiGroups:
251-
- kafka.banzaicloud.io
252-
resources:
253-
- cruisecontroloperations/finalizers
254-
verbs:
255-
- update
256-
- apiGroups:
257-
- kafka.banzaicloud.io
258-
resources:
259-
- cruisecontroloperations/status
260-
verbs:
261-
- get
262-
- patch
263-
- update
264294
---
265295
apiVersion: rbac.authorization.k8s.io/v1
266296
kind: ClusterRoleBinding

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ spec:
2828
ports:
2929
- name: https
3030
port: 443
31-
targetPort: {{ (.Values.webhook).serverPort | default 443 }}
31+
targetPort: webhook-server
3232
{{- if and .Values.prometheusMetrics.enabled (not .Values.prometheusMetrics.authProxy.enabled) }}
3333
- name: metrics
3434
port: 8080
35-
targetPort: {{ (.Values.metricEndpoint).port | default 8080 }}
35+
targetPort: metrics
3636
{{- end }}

config/base/rbac/role.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@ rules:
178178
resources:
179179
- cruisecontroloperations/finalizers
180180
verbs:
181+
- create
182+
- delete
183+
- patch
181184
- update
182185
- apiGroups:
183186
- kafka.banzaicloud.io
@@ -199,6 +202,15 @@ rules:
199202
- patch
200203
- update
201204
- watch
205+
- apiGroups:
206+
- kafka.banzaicloud.io
207+
resources:
208+
- kafkaclusters/finalizers
209+
verbs:
210+
- create
211+
- delete
212+
- patch
213+
- update
202214
- apiGroups:
203215
- kafka.banzaicloud.io
204216
resources:
@@ -220,6 +232,15 @@ rules:
220232
- patch
221233
- update
222234
- watch
235+
- apiGroups:
236+
- kafka.banzaicloud.io
237+
resources:
238+
- kafkatopics/finalizers
239+
verbs:
240+
- create
241+
- delete
242+
- patch
243+
- update
223244
- apiGroups:
224245
- kafka.banzaicloud.io
225246
resources:
@@ -241,6 +262,15 @@ rules:
241262
- patch
242263
- update
243264
- watch
265+
- apiGroups:
266+
- kafka.banzaicloud.io
267+
resources:
268+
- kafkausers/finalizers
269+
verbs:
270+
- create
271+
- delete
272+
- patch
273+
- update
244274
- apiGroups:
245275
- kafka.banzaicloud.io
246276
resources:

config/base/webhook/service.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ metadata:
77
spec:
88
ports:
99
- port: 443
10-
targetPort: 443
10+
targetPort: 9443
1111
selector:
1212
control-plane: controller-manager

controllers/cruisecontroloperation_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ type CruiseControlOperationReconciler struct {
7070

7171
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=cruisecontroloperations,verbs=get;list;watch;create;update;patch;delete;deletecollection
7272
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=cruisecontroloperations/status,verbs=get;update;patch
73-
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=cruisecontroloperations/finalizers,verbs=update
73+
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=cruisecontroloperations/finalizers,verbs=create;update;patch;delete
7474

7575
//nolint:gocyclo
7676
func (r *CruiseControlOperationReconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error) {

controllers/kafkacluster_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ type KafkaClusterReconciler struct {
7979
// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;watch;create;update;patch;delete
8080
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkaclusters,verbs=get;list;watch;create;update;patch;delete
8181
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkaclusters/status,verbs=get;update;patch
82+
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkaclusters/finalizers,verbs=create;update;patch;delete
8283
// +kubebuilder:rbac:groups=servicemesh.cisco.com,resources=istiomeshgateways,verbs=get;list;watch;create;update;patch;delete
8384
// +kubebuilder:rbac:groups=networking.istio.io,resources=*,verbs=*
8485

controllers/kafkatopic_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ type KafkaTopicReconciler struct {
7171

7272
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkatopics,verbs=get;list;watch;create;update;patch;delete;deletecollection
7373
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkatopics/status,verbs=get;update;patch
74+
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkatopics/finalizers,verbs=create;update;patch;delete
7475

7576
// Reconcile reconciles the kafka topic
7677
func (r *KafkaTopicReconciler) Reconcile(ctx context.Context, request reconcile.Request) (reconcile.Result, error) {

controllers/kafkauser_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ type KafkaUserReconciler struct {
154154

155155
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkausers,verbs=get;list;watch;create;update;patch;delete;deletecollection
156156
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkausers/status,verbs=get;update;patch
157+
// +kubebuilder:rbac:groups=kafka.banzaicloud.io,resources=kafkausers/finalizers,verbs=create;update;patch;delete
157158
// +kubebuilder:rbac:groups=cert-manager.io,resources=certificates,verbs=get;list;watch;create;update;patch;delete
158159
// +kubebuilder:rbac:groups=cert-manager.io,resources=issuers,verbs=get;list;watch;create;update;patch;delete
159160
// +kubebuilder:rbac:groups=cert-manager.io,resources=clusterissuers,verbs=get;list;watch;create;update;patch;delete

0 commit comments

Comments
 (0)