# Default values for sample.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

image:
  repository: nginx
  tag: stable
  pullPolicy: IfNotPresent

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

serviceAccount:
  # Specifies whether a service account should be created
  create: true
  # The name of the service account to use.
  # If not set and create is true, a name is generated using the fullname template
  name:

podSecurityContext: {}
  # fsGroup: 2000

securityContext: {}
  # capabilities:
  #   drop:
  #   - ALL
  # readOnlyRootFilesystem: true
  # runAsNonRoot: true
  # runAsUser: 1000

#service:
#  type: ClusterIP
#  port: 80

ingress:
  enabled: false
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  hosts:
    - host: chart-example.local
      paths: []

  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

resources: {}
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  # limits:
  #   cpu: 100m
  #   memory: 128Mi
  # requests:
  #   cpu: 100m
  #   memory: 128Mi

nodeSelector: {"datasaker/group": "data"}

tolerations: []

affinity: {}

global:
  KAFKA_BROKER_CONFIG: "{{index .metadata.labels \"failure-domain.beta.kubernetes.io/zone\"}}"

  # KAFK_INITUTILS_VERSION: v1.0.0
  # KAFKA_VERSION: v1.0.1

  # 레지스트리 변수화 (Public Cloud 대비 / 아래 값 적절히 수정해서 사용할 것)
  # IMXC_REGISTRY: icn.ocir.io/cntxl7bbdp4p
  # StorageClassName: openebs-hostpath


# kafka의 노드 포트들을 명-시
kafka:
  image:
    repository: datasaker/kafka
    tag: v1.0.1
  initContainers:
    image:
      repository: datasaker/kafka-initutils
      tag: v1.0.0
  service:
    kafka_outside_0: "32400"
    kafka_outside_1: "32401"
    kafka_outside_2: "32402"
    kafka_global_0: "32500"
    kafka_global_1: "32501"
    kafka_global_2: "32502"
    kafka_broker: "30094"
    kafka_broker_global: "30095"

  tolerations:
  - key: "dev/data-kafka"
    operator: "Exists"

  affinity:
    nodeAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
        - preference:
            matchExpressions:
              - key: "datasaker/group"
                operator: In
                values:
                  - "data-kafka"
          weight: 100
    podAntiAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
       - weight: 50
         podAffinityTerm:
           labelSelector:
              matchExpressions:
              - key: "app"
                operator: In
                values: 
                - kafka
           topologyKey: "kubernetes.io/hostname"
    podAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
       - weight: 50
         podAffinityTerm:
           labelSelector:
              matchExpressions:
              - key: "app"
                operator: In
                values: 
                - zookeeper
           topologyKey: "kubernetes.io/hostname"

zookeeper:
  image:
    repository: datasaker/kafka
    tag: v1.0.0
  initContainers:
    image:
      repository: datasaker/kafka-initutils
      tag: v1.0.0

  tolerations:
  - key: "dev/data-kafka"
    operator: "Exists"

  affinity:
    podAntiAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 50
        podAffinityTerm:
          labelSelector:
            matchExpressions:
            - key: "app"
              operator: In
              values:
              - zookeeper
          topologyKey: "kubernetes.io/hostname"

    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
            - key: datasaker/group
              operator: In
              values:
              - data-kafka

akhq:
  service:
    enabled: true
    type: NodePort
    port: 80
    nodePort: 32551

  secrets:
    akhq:
      connections:
        my-cluster-plain-text:
          properties:
            bootstrap.servers: "kafka:9092"
  tolerations:
  - key: "dev/data-kafka"
    operator: "Exists"

  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
            - key: datasaker/group
              operator: In
              values:
              - data-kafka
  
#  nodeSelector: {"datasaker/group": "data-kafka"}
