blob: 99252ec3e662e909f7fe6f4b462acd9e665c5aa6 [file] [log] [blame]
{{/*
# Copyright © 2022 Nordix Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
*/}}
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
spec:
kafka:
version: {{ .Values.config.kafkaVersion }}
replicas: {{ .Values.replicaCount }}
listeners:
- name: plain
port: {{ .Values.config.kafkaInternalPort }}
type: internal
tls: false
authentication:
type: {{ .Values.config.saslMechanism }}
- name: tls
port: 9093
type: internal
tls: true
authentication:
type: tls
- name: external
port: 9094
type: {{ if (include "common.ingressEnabled" .) }}cluster-ip{{ else }}nodeport{{ end }}
tls: true
authentication:
type: tls
configuration:
{{- if not (include "common.ingressEnabled" .) }}
bootstrap:
nodePort: {{ .Values.global.nodePortPrefixExt }}93
{{- end }}
brokers:
- broker: 0
advertisedHost: {{ .Values.config.advertisedHost }}
advertisedPort: {{ .Values.config.advertizedPortBroker0 }}
{{- if not (include "common.ingressEnabled" .) }}
nodePort: {{ .Values.global.nodePortPrefixExt }}90
{{- end }}
- broker: 1
advertisedHost: {{ .Values.config.advertisedHost }}
advertisedPort: {{ .Values.config.advertizedPortBroker1 }}
{{- if not (include "common.ingressEnabled" .) }}
nodePort: {{ .Values.global.nodePortPrefixExt }}91
{{- end }}
- broker: 2
advertisedHost: {{ .Values.config.advertisedHost }}
advertisedPort: {{ .Values.config.advertizedPortBroker2 }}
{{- if not (include "common.ingressEnabled" .) }}
nodePort: {{ .Values.global.nodePortPrefixExt }}92
{{- end }}
authorization:
type: {{ .Values.config.authType }}
superUsers:
- {{ .Values.config.strimziKafkaAdminUser }}
template:
pod:
securityContext:
runAsUser: 0
fsGroup: 0
config:
default.replication.factor: {{ .Values.replicaCount }}
min.insync.replicas: {{ (eq 1.0 (.Values.replicaCount)) | ternary 1 (sub .Values.replicaCount 1) }}
offsets.topic.replication.factor: {{ .Values.replicaCount }}
num.partitions: {{ mul .Values.replicaCount 2 }}
transaction.state.log.replication.factor: {{ .Values.replicaCount }}
transaction.state.log.min.isr: {{ (eq 1.0 (.Values.replicaCount)) | ternary 1 (sub .Values.replicaCount 1) }}
log.message.format.version: {{ .Values.config.kafkaVersion }}
inter.broker.protocol.version: {{ .Values.config.kafkaVersion }}
storage:
type: jbod
volumes:
- id: 0
type: persistent-claim
size: {{ .Values.persistence.kafka.size }}
deleteClaim: true
class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistence.kafka) }}
zookeeper:
template:
pod:
securityContext:
runAsUser: 0
fsGroup: 0
replicas: {{ .Values.replicaCount }}
config:
ssl.hostnameVerification: false
ssl.quorum.hostnameVerification: false
{{- if (include "common.onServiceMesh" .) }}
sslQuorum: false
{{- end }}
storage:
type: persistent-claim
size: {{ .Values.persistence.zookeeper.size }}
deleteClaim: true
class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistence.zookeeper) }}
entityOperator:
topicOperator: {}
userOperator: {}