{{/*
# 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: 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: {{ .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: {}

