[DMAAP] DMaaP ServiceMesh compatibility
[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 }}91
52           brokers:
53             - broker: 0
54               nodePort: {{ .Values.global.nodePortPrefixExt }}92
55             - broker: 1
56               nodePort: {{ .Values.global.nodePortPrefixExt }}93
57     authorization:
58       type: simple
59       superUsers:
60         - {{ include "common.release" . }}-{{ .Values.kafkaStrimziAdminUser }}
61     template:
62       pod:
63         securityContext:
64           runAsUser: 0
65           fsGroup: 0
66     config:
67       offsets.topic.replication.factor: {{ .Values.replicaCount }}
68       transaction.state.log.replication.factor: {{ .Values.replicaCount }}
69       transaction.state.log.min.isr: 2
70       log.message.format.version: "3.0"
71       inter.broker.protocol.version: "3.0"
72     storage:
73       type: jbod
74       class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
75       volumes:
76       - id: 0
77         type: persistent-claim
78         size: {{ .Values.persistenceKafka.size }}
79         deleteClaim: true
80         class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
81   zookeeper:
82     template:
83       pod:
84         securityContext:
85           runAsUser: 0
86           fsGroup: 0
87     replicas: {{ .Values.replicaCount }}
88     config:
89       ssl.hostnameVerification: false
90     storage:
91       type: persistent-claim
92       size: {{ .Values.persistenceZk.size }}
93       deleteClaim: true
94       class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistenceZk) }}
95   entityOperator:
96     topicOperator: {}
97     userOperator: {}
98