03ee56a7a4caca8e7a98a4cfe9a0ad6b82c76f52
[oom.git] / kubernetes / strimzi / templates / strimzi-kafka.yaml
1 {{/*
2 # Copyright © 2022 Nordix Foundation
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16 apiVersion: kafka.strimzi.io/v1beta2
17 kind: Kafka
18 metadata:
19   name: {{ include "common.fullname" . }}
20   namespace: {{ include "common.namespace" . }}
21   labels:
22     app: {{ include "common.name" . }}
23     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
24     release: {{ include "common.release" . }}
25     heritage: {{ .Release.Service }}
26 spec:
27   kafka:
28     version: {{ .Values.version }}
29     replicas: {{ .Values.replicaCount }}
30     listeners:
31       - name: plain
32         port: {{ .Values.kafkaInternalPort }}
33         type: internal
34         tls: false
35         authentication:
36           type: {{ .Values.saslMechanism }}
37       - name: tls
38         port: 9093
39         type: internal
40         tls: true
41         authentication:
42           type: tls
43       - name: external
44         port: 9094
45         type: nodeport
46         tls: true
47         authentication:
48           type: tls
49         configuration:
50           bootstrap:
51             nodePort: {{ .Values.global.nodePortPrefixExt }}93
52           brokers:
53             - broker: 0
54               nodePort: {{ .Values.global.nodePortPrefixExt }}90
55             - broker: 1
56               nodePort: {{ .Values.global.nodePortPrefixExt }}91
57             - broker: 2
58               nodePort: {{ .Values.global.nodePortPrefixExt }}92
59     authorization:
60       type: simple
61       superUsers:
62         - {{ .Values.kafkaStrimziAdminUser }}
63     template:
64       pod:
65         securityContext:
66           runAsUser: 0
67           fsGroup: 0
68     config:
69       default.replication.factor: {{ .Values.replicaCount }}
70       min.insync.replicas: {{ .Values.replicaCount }}
71       offsets.topic.replication.factor: {{ .Values.replicaCount }}
72       transaction.state.log.replication.factor: {{ .Values.replicaCount }}
73       num.partitions: {{ .Values.numPartitions }}
74       transaction.state.log.min.isr: {{ .Values.replicaCount }}
75       log.message.format.version: {{ .Values.version }}
76       inter.broker.protocol.version: {{ .Values.version }}
77     storage:
78       type: jbod
79       volumes:
80       - id: 0
81         type: persistent-claim
82         size: {{ .Values.persistenceKafka.size }}
83         deleteClaim: true
84         class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
85   zookeeper:
86     template:
87       pod:
88         securityContext:
89           runAsUser: 0
90           fsGroup: 0
91     replicas: {{ .Values.replicaCount }}
92     config:
93       ssl.hostnameVerification: false
94       ssl.quorum.hostnameVerification: false
95       {{- if (include "common.onServiceMesh" .) }}
96       sslQuorum: false
97       {{- end }}
98     storage:
99       type: persistent-claim
100       size: {{ .Values.persistenceZk.size }}
101       deleteClaim: true
102       class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistenceZk) }}
103   entityOperator:
104     topicOperator: {}
105     userOperator: {}
106