apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: kafka
  namespace: kafka
spec:
  interval: 5m
  timeout: 10m
  values:
    global:
      imagePullSecrets:
        - regcred
      defaultStorageClass: local-path
    image:
      pullSecrets:
        - regcred
    controller:
      replicaCount: 1
      automountServiceAccountToken: true
      persistence:
        size: 8Gi
        storageClass: local-path
      overrideConfiguration:
        authorizer.class.name: org.apache.kafka.metadata.authorizer.StandardAuthorizer
        allow.everyone.if.no.acl.found: true
        super.users: User:controller_user;User:inter_broker_user
        offsets.topic.replication.factor: 1
        transaction.state.log.replication.factor: 1
        transaction.state.log.min.isr: 1
        default.replication.factor: 1
        min.insync.replicas: 1
    broker:
      replicaCount: 0
      automountServiceAccountToken: true
    listeners:
      client:
        protocol: SASL_SSL
        sslClientAuth: "none"
    provisioning:
      enabled: false
    sasl:
      managedExistingSecret:
        enabled: false
      existingSecret: ""
      enabledMechanisms: PLAIN,SCRAM-SHA-512
      interBrokerMechanism: PLAIN
      controllerMechanism: PLAIN
      client:
        users: []
        passwords: ""
    tls:
      type: PEM
    vault:
      enabled: true
      role: kafka
      authPath: auth/kubernetes
      secretPath: secrets/data/kafka/bootstrap
      clusterIdKey: clusterId
      interBrokerPasswordKey: interBrokerPassword
      controllerPasswordKey: controllerPassword
