2 # Copyright © 2022 Nordix Foundation
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
8 # http://www.apache.org/licenses/LICENSE-2.0
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.
16 apiVersion: kafka.strimzi.io/v1beta2
18 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
21 version: {{ .Values.config.kafkaVersion }}
22 replicas: {{ .Values.replicaCount }}
25 port: {{ .Values.config.kafkaInternalPort }}
29 type: {{ .Values.config.saslMechanism }}
38 type: {{ if (include "common.ingressEnabled" .) }}cluster-ip{{ else }}nodeport{{ end }}
39 tls: {{ if (include "common.ingressEnabled" .) }}false{{ else }}true{{ end }}
41 type: {{ if (include "common.ingressEnabled" .) }}{{ .Values.config.saslMechanism }}{{ else }}tls{{ end }}
43 {{- if not (include "common.ingressEnabled" .) }}
45 nodePort: {{ .Values.global.nodePortPrefixExt }}93
49 advertisedHost: {{ .Values.config.advertisedHost }}
50 advertisedPort: {{ .Values.config.advertizedPortBroker0 }}
51 {{- if not (include "common.ingressEnabled" .) }}
52 nodePort: {{ .Values.global.nodePortPrefixExt }}90
55 advertisedHost: {{ .Values.config.advertisedHost }}
56 advertisedPort: {{ .Values.config.advertizedPortBroker1 }}
57 {{- if not (include "common.ingressEnabled" .) }}
58 nodePort: {{ .Values.global.nodePortPrefixExt }}91
61 advertisedHost: {{ .Values.config.advertisedHost }}
62 advertisedPort: {{ .Values.config.advertizedPortBroker2 }}
63 {{- if not (include "common.ingressEnabled" .) }}
64 nodePort: {{ .Values.global.nodePortPrefixExt }}92
67 type: {{ .Values.config.authType }}
69 - {{ .Values.config.strimziKafkaAdminUser }}
72 {{- include "common.imagePullSecrets" . | nindent 8 }}
76 {{- if .Values.affinity.podAntiAffinity.enabled }}
79 requiredDuringSchedulingIgnoredDuringExecution:
82 - key: strimzi.io/name
85 - {{ include "common.fullname" . }}-kafka
86 topologyKey: "kubernetes.io/hostname"
89 default.replication.factor: {{ .Values.replicaCount }}
90 min.insync.replicas: {{ (eq 1.0 (.Values.replicaCount)) | ternary 1 (sub .Values.replicaCount 1) }}
91 offsets.topic.replication.factor: {{ .Values.replicaCount }}
92 num.partitions: {{ mul .Values.replicaCount 2 }}
93 transaction.state.log.replication.factor: {{ .Values.replicaCount }}
94 transaction.state.log.min.isr: {{ (eq 1.0 (.Values.replicaCount)) | ternary 1 (sub .Values.replicaCount 1) }}
95 log.message.format.version: {{ .Values.config.kafkaVersion }}
96 inter.broker.protocol.version: {{ .Values.config.kafkaVersion }}
97 auto.create.topics.enable: {{ .Values.config.autoCreateTopics }}
102 type: persistent-claim
103 size: {{ .Values.persistence.kafka.size }}
105 class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistence.kafka) }}
106 {{- if .Values.metrics.kafkaExporter.enabled }}
108 type: {{ .Values.metrics.kafkaExporter.metricsConfig.type }}
111 name: {{ include "common.fullname" . }}
112 key: kafka-metrics-config.yml
117 {{- include "common.imagePullSecrets" . | nindent 8 }}
121 {{- if .Values.affinity.podAntiAffinity.enabled }}
124 requiredDuringSchedulingIgnoredDuringExecution:
127 - key: strimzi.io/name
130 - {{ include "common.fullname" . }}-zookeeper
131 topologyKey: "kubernetes.io/hostname"
133 replicas: {{ .Values.replicaCount }}
135 ssl.hostnameVerification: false
136 ssl.quorum.hostnameVerification: false
137 {{- if (include "common.onServiceMesh" .) }}
141 type: persistent-claim
142 size: {{ .Values.persistence.zookeeper.size }}
144 class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistence.zookeeper) }}
145 {{- if .Values.metrics.kafkaExporter.enabled }}
147 type: {{ .Values.metrics.kafkaExporter.metricsConfig.type }}
150 name: {{ include "common.fullname" . }}
151 key: zookeeper-metrics-config.yml
156 {{- include "common.imagePullSecrets" . | nindent 8 }}
159 {{- if .Values.cruiseControl.enabled }}
163 {{- include "common.imagePullSecrets" . | nindent 8 }}
165 type: {{ .Values.cruiseControl.metricsConfig.type }}
168 name: {{ include "common.fullname" . }}
169 key: cruisecontrol-metrics-config.yml
171 {{- if .Values.metrics.kafkaExporter.enabled }}
175 {{- include "common.imagePullSecrets" . | nindent 8 }}
176 topicRegex: {{ .Values.metrics.kafkaExporter.topicRegex }}
177 groupRegex: {{ .Values.metrics.kafkaExporter.groupRegex }}
180 cpu: {{ .Values.metrics.kafkaExporter.resources.requests.cpu }}
181 memory: {{ .Values.metrics.kafkaExporter.resources.requests.memory }}
183 cpu: {{ .Values.metrics.kafkaExporter.resources.limits.cpu }}
184 memory: {{ .Values.metrics.kafkaExporter.resources.limits.memory }}
185 logging: {{ .Values.metrics.kafkaExporter.logging }}
186 enableSaramaLogging: {{ .Values.metrics.kafkaExporter.enableSaramaLogging }}
188 initialDelaySeconds: {{ .Values.metrics.kafkaExporter.readinessProbe.initialDelaySeconds }}
189 timeoutSeconds: {{ .Values.metrics.kafkaExporter.readinessProbe.timeoutSeconds }}
191 initialDelaySeconds: {{ .Values.metrics.kafkaExporter.livenessProbe.initialDelaySeconds }}
192 timeoutSeconds: {{ .Values.metrics.kafkaExporter.livenessProbe.timeoutSeconds }}