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

## ------------------------------------------------------
## Zookeeper
## ------------------------------------------------------

## Number of zookeeper servers, should be odd number
servers: 3

## Minimum number of servers available to ensure the availability of zookeeper service
## minAvailable: 2

## Images Info
## ref: https://hub.docker.com/r/confluentinc/cp-zookeeper/
image: confluentinc/cp-zookeeper
imageTag: 5.3.0

## Specify a imagePullPolicy
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
imagePullPolicy: IfNotPresent

## Specify an array of imagePullSecrets. 
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
imagePullSecrets:

## StatefulSet Config
## Start and stop pods in Parallel or OrderedReady (one-by-one.)
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
podManagementPolicy: OrderedReady

## The StatefulSet Update Strategy which Zookeeper will use when changes are applied: OnDelete or RollingUpdate
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
updateStrategy: RollingUpdate

## Zookeeper Configuration
## ref: https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#sc_configuration
## ref: https://docs.confluent.io/current/zookeeper/deployment.html#important-configuration-options
tickTime: 2000
syncLimit: 5
initLimit: 10
maxClientCnxns: 60
autoPurgeSnapRetainCount: 3
autoPurgePurgeInterval: 24

## Zookeeper JVM Heap Option
heapOptions: "-Xms512M -Xmx512M"

## Port
## ref: https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#sc_configuration
serverPort: 2888
leaderElectionPort: 3888
clientPort: 2181

## Persistent Volumes
## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
persistence:
  enabled: true

  ## The size of the PersistentVolume to allocate to each Zookeeper Pod in the StatefulSet. For
  ## production servers this number should likely be much larger.
  ##
  ## Size for Data dir, where ZooKeeper will store the in-memory database snapshots.
  dataDirSize: 5Gi
  # dataDirStorageClass: ""

  ## Size for data log dir, which is a dedicated log device to be used, and helps avoid competition between logging and snaphots.
  dataLogDirSize: 5Gi
  # dataLogDirStorageClass: ""


## Pod Compute Resources
## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
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

## Custom pod annotations
podAnnotations: {}

## Node labels for pod assignment
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
nodeSelector: {}

## Taints to tolerate on node assignment:
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: {}

## Monitoring
## Zookeeper JMX Settings
## ref: https://docs.confluent.io/current/installation/docker/docs/operations/monitoring.html
jmx:
  port: 5555

## Prometheus Exporter Configuration
## ref: https://prometheus.io/docs/instrumenting/exporters/
prometheus:
  ## JMX Exporter Configuration
  ## ref: https://github.com/prometheus/jmx_exporter
  jmx:
    enabled: true
    image: solsson/kafka-prometheus-jmx-exporter@sha256
    imageTag: 6f82e2b0464f50da8104acd7363fb9b995001ddff77d248379f8788e78946143
    imagePullPolicy: IfNotPresent
    port: 5556

    ## Resources configuration for the JMX exporter container.
    ## See the `resources` documentation above for details.
    resources: {}
