c7dc2aff08decfcc72bf5f2bf07a1ce7efc90247
[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       transaction.state.log.min.isr: {{ .Values.replicaCount }}
74       log.message.format.version: {{ .Values.version }}
75       inter.broker.protocol.version: {{ .Values.version }}
76     storage:
77       type: jbod
78       volumes:
79       - id: 0
80         type: persistent-claim
81         size: {{ .Values.persistenceKafka.size }}
82         deleteClaim: true
83         class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
84   zookeeper:
85     template:
86       pod:
87         securityContext:
88           runAsUser: 0
89           fsGroup: 0
90     replicas: {{ .Values.replicaCount }}
91     config:
92       ssl.hostnameVerification: false
93       ssl.quorum.hostnameVerification: false
94       {{- if (include "common.onServiceMesh" .) }}
95       sslQuorum: false
96       {{- end }}
97     storage:
98       type: persistent-claim
99       size: {{ .Values.persistenceZk.size }}
100       deleteClaim: true
101       class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistenceZk) }}
102   entityOperator:
103     topicOperator: {}
104     userOperator: {}
105