{{/*
# 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:
  name: {{ include "common.fullname" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ include "common.release" . }}
    heritage: {{ .Release.Service }}
spec:
  kafka:
    version: {{ .Values.version }}
    replicas: {{ .Values.replicaCount }}
    listeners:
      - name: plain
        port: {{ .Values.kafkaInternalPort }}
        type: internal
        tls: false
        authentication:
          type: {{ .Values.saslMechanism }}
      - name: tls
        port: 9093
        type: internal
        tls: true
        authentication:
          type: tls
      - name: external
        port: 9094
        type: nodeport
        tls: true
        authentication:
          type: tls
        configuration:
          bootstrap:
            nodePort: {{ .Values.global.nodePortPrefixExt }}93
          brokers:
            - broker: 0
              nodePort: {{ .Values.global.nodePortPrefixExt }}90
            - broker: 1
              nodePort: {{ .Values.global.nodePortPrefixExt }}91
            - broker: 2
              nodePort: {{ .Values.global.nodePortPrefixExt }}92
    authorization:
      type: simple
      superUsers:
        - {{ .Values.kafkaStrimziAdminUser }}
    template:
      pod:
        securityContext:
          runAsUser: 0
          fsGroup: 0
    config:
      default.replication.factor: {{ .Values.replicaCount }}
      min.insync.replicas: {{ .Values.replicaCount }}
      offsets.topic.replication.factor: {{ .Values.replicaCount }}
      transaction.state.log.replication.factor: {{ .Values.replicaCount }}
      num.partitions: {{ .Values.numPartitions }}
      transaction.state.log.min.isr: {{ .Values.replicaCount }}
      log.message.format.version: {{ .Values.version }}
      inter.broker.protocol.version: {{ .Values.version }}
    storage:
      type: jbod
      volumes:
      - id: 0
        type: persistent-claim
        size: {{ .Values.persistenceKafka.size }}
        deleteClaim: true
        class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
  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.persistenceZk.size }}
      deleteClaim: true
      class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistenceZk) }}
  entityOperator:
    topicOperator: {}
    userOperator: {}

