Skip to content

Commit 3d8c86c

Browse files
authored
Make CRDs installation and ServiceAccount name configurable (#1)
* Make kafka-operator helm chart compatibile with helm 3 * Make ServiceAccount name configurable and optional
1 parent 086e24d commit 3d8c86c

File tree

9 files changed

+50
-25
lines changed

9 files changed

+50
-25
lines changed

charts/kafka-operator/templates/operator-kafka-crd.yaml renamed to charts/kafka-operator/crds/operator-kafka-crd.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ metadata:
44
annotations:
55
controller-gen.kubebuilder.io/version: v0.2.5
66
labels:
7-
app.kubernetes.io/name: {{ include "kafka-operator.name" . }}
8-
helm.sh/chart: {{ include "kafka-operator.chart" . }}
9-
app.kubernetes.io/instance: {{ .Release.Name }}
10-
app.kubernetes.io/managed-by: {{ .Release.Service }}
11-
app.kubernetes.io/version: {{ .Chart.AppVersion }}
7+
app.kubernetes.io/name: kafka-operator
8+
helm.sh/chart: kafka-operator
9+
app.kubernetes.io/instance: kafka-operator
10+
app.kubernetes.io/managed-by: kafka-operator
1211
app.kubernetes.io/component: operator
1312
name: kafkaclusters.kafka.banzaicloud.io
1413
spec:

charts/kafka-operator/templates/operator-kafka-topic-crd.yaml renamed to charts/kafka-operator/crds/operator-kafka-topic-crd.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@ apiVersion: apiextensions.k8s.io/v1beta1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
certmanager.k8s.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "kafka-operator.fullname" . }}-server-cert
65
controller-gen.kubebuilder.io/version: v0.2.5
76
labels:
8-
app.kubernetes.io/name: {{ include "kafka-operator.name" . }}
9-
helm.sh/chart: {{ include "kafka-operator.chart" . }}
10-
app.kubernetes.io/instance: {{ .Release.Name }}
11-
app.kubernetes.io/managed-by: {{ .Release.Service }}
12-
app.kubernetes.io/version: {{ .Chart.AppVersion }}
7+
app.kubernetes.io/name: kafka-operator
8+
helm.sh/chart: kafka-operator
9+
app.kubernetes.io/instance: kafka-operator
10+
app.kubernetes.io/managed-by: kafka-operator
1311
app.kubernetes.io/component: operator
1412
name: kafkatopics.kafka.banzaicloud.io
1513
spec:

charts/kafka-operator/templates/operator-kafka-user-crd.yaml renamed to charts/kafka-operator/crds/operator-kafka-user-crd.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,10 @@ metadata:
44
annotations:
55
controller-gen.kubebuilder.io/version: v0.2.5
66
labels:
7-
app.kubernetes.io/name: {{ include "kafka-operator.name" . }}
8-
helm.sh/chart: {{ include "kafka-operator.chart" . }}
9-
app.kubernetes.io/instance: {{ .Release.Name }}
10-
app.kubernetes.io/managed-by: {{ .Release.Service }}
11-
app.kubernetes.io/version: {{ .Chart.AppVersion }}
7+
app.kubernetes.io/name: kafka-operator
8+
helm.sh/chart: kafka-operator
9+
app.kubernetes.io/instance: kafka-operator
10+
app.kubernetes.io/managed-by: kafka-operator
1211
app.kubernetes.io/component: operator
1312
name: kafkausers.kafka.banzaicloud.io
1413
spec:

charts/kafka-operator/templates/_helpers.tpl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,14 @@ Create chart name and version as used by the chart label.
3030
{{- define "kafka-operator.chart" -}}
3131
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
3232
{{- end -}}
33+
34+
{{/*
35+
Compute operator deployment serviceAccountName key
36+
*/}}
37+
{{- define "operator.serviceAccountName" -}}
38+
{{- if .Values.operator.serviceAccount.create -}}
39+
{{ default "default" .Values.operator.serviceAccount.name }}
40+
{{- else -}}
41+
{{- printf "%s" "default" }}
42+
{{- end -}}
43+
{{- end -}}

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if and .Values.rbac.enabled .Values.prometheusMetrics.enabled .Values.prometheusMetrics.authProxy.enabled }}
1+
{{- if and .Values.prometheusMetrics.authProxy.serviceAccount.create .Values.prometheusMetrics.enabled .Values.prometheusMetrics.authProxy.enabled }}
22
apiVersion: v1
33
kind: ServiceAccount
44
{{- if .Values.imagePullSecrets }}
@@ -8,7 +8,7 @@ imagePullSecrets:
88
{{- end }}
99
{{- end }}
1010
metadata:
11-
name: {{ include "kafka-operator.fullname" . }}-authproxy
11+
name: {{ .Values.prometheusMetrics.authProxy.serviceAccount.name }}
1212
namespace: {{ .Release.Namespace | quote }}
1313
labels:
1414
app.kubernetes.io/name: {{ include "kafka-operator.name" . }}
@@ -17,6 +17,8 @@ metadata:
1717
app.kubernetes.io/managed-by: {{ .Release.Service }}
1818
app.kubernetes.io/version: {{ .Chart.AppVersion }}
1919
app.kubernetes.io/component: authproxy
20+
{{- end }}
21+
{{- if and .Values.rbac.enabled .Values.prometheusMetrics.enabled .Values.prometheusMetrics.authProxy.enabled }}
2022
---
2123
apiVersion: rbac.authorization.k8s.io/v1
2224
kind: ClusterRole
@@ -56,6 +58,6 @@ roleRef:
5658
name: "{{ include "kafka-operator.fullname" . }}-authproxy"
5759
subjects:
5860
- kind: ServiceAccount
59-
name: {{ include "kafka-operator.fullname" . }}-authproxy
61+
name: {{ .Values.prometheusMetrics.authProxy.serviceAccount.name }}
6062
namespace: {{ .Release.Namespace }}
6163
{{- end }}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{{- if .Values.crd.enabled }}
2+
{{- range $path, $bytes := .Files.Glob "crds/*.yaml" }}
3+
{{ $.Files.Get $path }}
4+
---
5+
{{- end }}
6+
{{- end }}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ spec:
3434
app: prometheus
3535
component: alertmanager
3636
spec:
37-
{{- if .Values.rbac.enabled }}
38-
serviceAccountName: {{ include "kafka-operator.fullname" . }}-operator
39-
{{- end }}
37+
serviceAccountName: {{ include "operator.serviceAccountName" .}}
4038
volumes:
4139
{{- if .Values.webhook.enabled }}
4240
- name: serving-cert

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if .Values.rbac.enabled }}
1+
{{- if .Values.operator.serviceAccount.create }}
22
apiVersion: v1
33
kind: ServiceAccount
44
{{- if .Values.imagePullSecrets }}
@@ -8,7 +8,7 @@ imagePullSecrets:
88
{{- end }}
99
{{- end }}
1010
metadata:
11-
name: {{ include "kafka-operator.fullname" . }}-operator
11+
name: {{ include "operator.serviceAccountName" . }}
1212
namespace: {{ .Release.Namespace | quote }}
1313
labels:
1414
app.kubernetes.io/name: {{ include "kafka-operator.name" . }}
@@ -17,6 +17,8 @@ metadata:
1717
app.kubernetes.io/managed-by: {{ .Release.Service }}
1818
app.kubernetes.io/version: {{ .Chart.AppVersion }}
1919
app.kubernetes.io/component: operator
20+
{{- end }}
21+
{{- if .Values.rbac.enabled }}
2022
---
2123
apiVersion: rbac.authorization.k8s.io/v1
2224
kind: ClusterRole
@@ -237,6 +239,6 @@ roleRef:
237239
name: {{ include "kafka-operator.fullname" . }}-operator
238240
subjects:
239241
- kind: ServiceAccount
240-
name: {{ include "kafka-operator.fullname" . }}-operator
242+
name: {{ include "operator.serviceAccountName" . }}
241243
namespace: {{ .Release.Namespace }}
242244
{{- end }}

charts/kafka-operator/values.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ operator:
2626
requests:
2727
cpu: 100m
2828
memory: 128Mi
29+
serviceAccount:
30+
create: true
31+
name: kafka-operator
2932

3033
webhook:
3134
enabled: true
@@ -47,13 +50,20 @@ prometheusMetrics:
4750
repository: gcr.io/kubebuilder/kube-rbac-proxy
4851
tag: v0.4.0
4952
pullPolicy: IfNotPresent
53+
serviceAccount:
54+
create: true
55+
name: kafka-operator-authproxy
56+
5057

5158
nameOverride: ""
5259
fullnameOverride: ""
5360

5461
rbac:
5562
enabled: true
5663

64+
crd:
65+
enabled: false
66+
5767
nodeSelector: {}
5868

5969
tolerations: []

0 commit comments

Comments
 (0)