values.yaml 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879
  1. ## @section Global parameters
  2. ## Global Docker image parameters
  3. ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
  4. ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
  5. ##
  6. ## @param global.imageRegistry Global Docker image registry
  7. ## @param global.imagePullSecrets Global Docker registry secret names as an array
  8. ## @param global.storageClass Global StorageClass for Persistent Volume(s)
  9. ##
  10. global:
  11. imageRegistry: ""
  12. ## E.g.
  13. ## imagePullSecrets:
  14. ## - myRegistryKeySecretName
  15. ##
  16. imagePullSecrets: []
  17. storageClass: ""
  18. ## @section Common parameters
  19. ##
  20. ## @param kubeVersion Override Kubernetes version
  21. ##
  22. kubeVersion: ""
  23. ## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
  24. ##
  25. nameOverride: ""
  26. ## @param fullnameOverride String to fully override common.names.fullname template
  27. ##
  28. fullnameOverride: ""
  29. ## @param clusterDomain Kubernetes Cluster Domain
  30. ##
  31. clusterDomain: cluster.local
  32. ## @param extraDeploy Extra objects to deploy (evaluated as a template)
  33. ##
  34. extraDeploy: []
  35. ## @param commonLabels Add labels to all the deployed resources
  36. ##
  37. commonLabels: {}
  38. ## @param commonAnnotations Add annotations to all the deployed resources
  39. ##
  40. commonAnnotations: {}
  41. ## @param namespaceOverride Override namespace for ZooKeeper resources
  42. ## Useful when including ZooKeeper as a chart dependency, so it can be released into a different namespace than the parent
  43. ##
  44. namespaceOverride: ""
  45. ## Enable diagnostic mode in the statefulset
  46. ##
  47. diagnosticMode:
  48. ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
  49. ##
  50. enabled: false
  51. ## @param diagnosticMode.command Command to override all containers in the statefulset
  52. ##
  53. command:
  54. - sleep
  55. ## @param diagnosticMode.args Args to override all containers in the statefulset
  56. ##
  57. args:
  58. - infinity
  59. ## @section ZooKeeper chart parameters
  60. ## Bitnami ZooKeeper image version
  61. ## ref: https://hub.docker.com/r/bitnami/zookeeper/tags/
  62. ## @param image.registry ZooKeeper image registry
  63. ## @param image.repository ZooKeeper image repository
  64. ## @param image.tag ZooKeeper image tag (immutable tags are recommended)
  65. ## @param image.digest ZooKeeper image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  66. ## @param image.pullPolicy ZooKeeper image pull policy
  67. ## @param image.pullSecrets Specify docker-registry secret names as an array
  68. ## @param image.debug Specify if debug values should be set
  69. ##
  70. image:
  71. registry: docker.io
  72. repository: bitnami/zookeeper
  73. tag: 3.8.1-debian-11-r15
  74. digest: ""
  75. ## Specify a imagePullPolicy
  76. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  77. ## ref: https://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  78. ##
  79. pullPolicy: IfNotPresent
  80. ## Optionally specify an array of imagePullSecrets.
  81. ## Secrets must be manually created in the namespace.
  82. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  83. ## Example:
  84. ## pullSecrets:
  85. ## - myRegistryKeySecretName
  86. ##
  87. pullSecrets: []
  88. ## Set to true if you would like to see extra information on logs
  89. ##
  90. debug: false
  91. ## Authentication parameters
  92. ##
  93. auth:
  94. client:
  95. ## @param auth.client.enabled Enable ZooKeeper client-server authentication. It uses SASL/Digest-MD5
  96. ##
  97. enabled: false
  98. ## @param auth.client.clientUser User that will use ZooKeeper clients to auth
  99. ##
  100. clientUser: ""
  101. ## @param auth.client.clientPassword Password that will use ZooKeeper clients to auth
  102. ##
  103. clientPassword: ""
  104. ## @param auth.client.serverUsers Comma, semicolon or whitespace separated list of user to be created
  105. ## Specify them as a string, for example: "user1,user2,admin"
  106. ##
  107. serverUsers: ""
  108. ## @param auth.client.serverPasswords Comma, semicolon or whitespace separated list of passwords to assign to users when created
  109. ## Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
  110. ##
  111. serverPasswords: ""
  112. ## @param auth.client.existingSecret Use existing secret (ignores previous passwords)
  113. ##
  114. existingSecret: ""
  115. quorum:
  116. ## @param auth.quorum.enabled Enable ZooKeeper server-server authentication. It uses SASL/Digest-MD5
  117. ##
  118. enabled: false
  119. ## @param auth.quorum.learnerUser User that the ZooKeeper quorumLearner will use to authenticate to quorumServers.
  120. ## Note: Make sure the user is included in auth.quorum.serverUsers
  121. ##
  122. learnerUser: ""
  123. ## @param auth.quorum.learnerPassword Password that the ZooKeeper quorumLearner will use to authenticate to quorumServers.
  124. ##
  125. learnerPassword: ""
  126. ## @param auth.quorum.serverUsers Comma, semicolon or whitespace separated list of users for the quorumServers.
  127. ## Specify them as a string, for example: "user1,user2,admin"
  128. ##
  129. serverUsers: ""
  130. ## @param auth.quorum.serverPasswords Comma, semicolon or whitespace separated list of passwords to assign to users when created
  131. ## Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
  132. ##
  133. serverPasswords: ""
  134. ## @param auth.quorum.existingSecret Use existing secret (ignores previous passwords)
  135. ##
  136. existingSecret: ""
  137. ## @param tickTime Basic time unit (in milliseconds) used by ZooKeeper for heartbeats
  138. ##
  139. tickTime: 2000
  140. ## @param initLimit ZooKeeper uses to limit the length of time the ZooKeeper servers in quorum have to connect to a leader
  141. ##
  142. initLimit: 10
  143. ## @param syncLimit How far out of date a server can be from a leader
  144. ##
  145. syncLimit: 5
  146. ## @param preAllocSize Block size for transaction log file
  147. ##
  148. preAllocSize: 65536
  149. ## @param snapCount The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled)
  150. ##
  151. snapCount: 100000
  152. ## @param maxClientCnxns Limits the number of concurrent connections that a single client may make to a single member of the ZooKeeper ensemble
  153. ##
  154. maxClientCnxns: 60
  155. ## @param maxSessionTimeout Maximum session timeout (in milliseconds) that the server will allow the client to negotiate
  156. ## Defaults to 20 times the tickTime
  157. ##
  158. maxSessionTimeout: 40000
  159. ## @param heapSize Size (in MB) for the Java Heap options (Xmx and Xms)
  160. ## This env var is ignored if Xmx an Xms are configured via `jvmFlags`
  161. ##
  162. heapSize: 1024
  163. ## @param fourlwCommandsWhitelist A list of comma separated Four Letter Words commands that can be executed
  164. ##
  165. fourlwCommandsWhitelist: srvr, mntr, ruok
  166. ## @param minServerId Minimal SERVER_ID value, nodes increment their IDs respectively
  167. ## Servers increment their ID starting at this minimal value.
  168. ## E.g., with `minServerId=10` and 3 replicas, server IDs will be 10, 11, 12 for z-0, z-1 and z-2 respectively.
  169. ##
  170. minServerId: 1
  171. ## @param listenOnAllIPs Allow ZooKeeper to listen for connections from its peers on all available IP addresses
  172. ##
  173. listenOnAllIPs: false
  174. ## Ongoing data directory cleanup configuration
  175. ##
  176. autopurge:
  177. ## @param autopurge.snapRetainCount The most recent snapshots amount (and corresponding transaction logs) to retain
  178. ##
  179. snapRetainCount: 3
  180. ## @param autopurge.purgeInterval The time interval (in hours) for which the purge task has to be triggered
  181. ## Set to a positive integer to enable the auto purging
  182. ##
  183. purgeInterval: 0
  184. ## @param logLevel Log level for the ZooKeeper server. ERROR by default
  185. ## Have in mind if you set it to INFO or WARN the ReadinessProve will produce a lot of logs
  186. ##
  187. logLevel: ERROR
  188. ## @param jvmFlags Default JVM flags for the ZooKeeper process
  189. ##
  190. jvmFlags: ""
  191. ## @param dataLogDir Dedicated data log directory
  192. ## This allows a dedicated log device to be used, and helps avoid competition between logging and snapshots.
  193. ## E.g.
  194. ## dataLogDir: /bitnami/zookeeper/dataLog
  195. ##
  196. dataLogDir: ""
  197. ## @param configuration Configure ZooKeeper with a custom zoo.cfg file
  198. ## e.g:
  199. ## configuration: |-
  200. ## deploy-working-dir=/bitnami/geode/data
  201. ## log-level=info
  202. ## ...
  203. ##
  204. configuration: ""
  205. ## @param existingConfigmap The name of an existing ConfigMap with your custom configuration for ZooKeeper
  206. ## NOTE: When it's set the `configuration` parameter is ignored
  207. ##
  208. existingConfigmap: ""
  209. ## @param extraEnvVars Array with extra environment variables to add to ZooKeeper nodes
  210. ## e.g:
  211. ## extraEnvVars:
  212. ## - name: FOO
  213. ## value: "bar"
  214. ##
  215. extraEnvVars: []
  216. ## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ZooKeeper nodes
  217. ##
  218. extraEnvVarsCM: ""
  219. ## @param extraEnvVarsSecret Name of existing Secret containing extra env vars for ZooKeeper nodes
  220. ##
  221. extraEnvVarsSecret: ""
  222. ## @param command Override default container command (useful when using custom images)
  223. ##
  224. command:
  225. - /scripts/setup.sh
  226. ## @param args Override default container args (useful when using custom images)
  227. ##
  228. args: []
  229. ## @section Statefulset parameters
  230. ## @param replicaCount Number of ZooKeeper nodes
  231. ##
  232. replicaCount: 1
  233. ## @param containerPorts.client ZooKeeper client container port
  234. ## @param containerPorts.tls ZooKeeper TLS container port
  235. ## @param containerPorts.follower ZooKeeper follower container port
  236. ## @param containerPorts.election ZooKeeper election container port
  237. ##
  238. containerPorts:
  239. client: 2181
  240. tls: 3181
  241. follower: 2888
  242. election: 3888
  243. ## Configure extra options for ZooKeeper containers' liveness, readiness and startup probes
  244. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
  245. ## @param livenessProbe.enabled Enable livenessProbe on ZooKeeper containers
  246. ## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  247. ## @param livenessProbe.periodSeconds Period seconds for livenessProbe
  248. ## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  249. ## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
  250. ## @param livenessProbe.successThreshold Success threshold for livenessProbe
  251. ## @param livenessProbe.probeCommandTimeout Probe command timeout for livenessProbe
  252. ##
  253. livenessProbe:
  254. enabled: true
  255. initialDelaySeconds: 30
  256. periodSeconds: 10
  257. timeoutSeconds: 5
  258. failureThreshold: 6
  259. successThreshold: 1
  260. probeCommandTimeout: 2
  261. ## @param readinessProbe.enabled Enable readinessProbe on ZooKeeper containers
  262. ## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  263. ## @param readinessProbe.periodSeconds Period seconds for readinessProbe
  264. ## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  265. ## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
  266. ## @param readinessProbe.successThreshold Success threshold for readinessProbe
  267. ## @param readinessProbe.probeCommandTimeout Probe command timeout for readinessProbe
  268. ##
  269. readinessProbe:
  270. enabled: true
  271. initialDelaySeconds: 5
  272. periodSeconds: 10
  273. timeoutSeconds: 5
  274. failureThreshold: 6
  275. successThreshold: 1
  276. probeCommandTimeout: 2
  277. ## @param startupProbe.enabled Enable startupProbe on ZooKeeper containers
  278. ## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  279. ## @param startupProbe.periodSeconds Period seconds for startupProbe
  280. ## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
  281. ## @param startupProbe.failureThreshold Failure threshold for startupProbe
  282. ## @param startupProbe.successThreshold Success threshold for startupProbe
  283. ##
  284. startupProbe:
  285. enabled: false
  286. initialDelaySeconds: 30
  287. periodSeconds: 10
  288. timeoutSeconds: 1
  289. failureThreshold: 15
  290. successThreshold: 1
  291. ## @param customLivenessProbe Custom livenessProbe that overrides the default one
  292. ##
  293. customLivenessProbe: {}
  294. ## @param customReadinessProbe Custom readinessProbe that overrides the default one
  295. ##
  296. customReadinessProbe: {}
  297. ## @param customStartupProbe Custom startupProbe that overrides the default one
  298. ##
  299. customStartupProbe: {}
  300. ## @param lifecycleHooks for the ZooKeeper container(s) to automate configuration before or after startup
  301. ##
  302. lifecycleHooks: {}
  303. ## ZooKeeper resource requests and limits
  304. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  305. ## @param resources.limits The resources limits for the ZooKeeper containers
  306. ## @param resources.requests.memory The requested memory for the ZooKeeper containers
  307. ## @param resources.requests.cpu The requested cpu for the ZooKeeper containers
  308. ##
  309. resources:
  310. limits: {}
  311. requests:
  312. memory: 256Mi
  313. cpu: 250m
  314. ## Configure Pods Security Context
  315. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  316. ## @param podSecurityContext.enabled Enabled ZooKeeper pods' Security Context
  317. ## @param podSecurityContext.fsGroup Set ZooKeeper pod's Security Context fsGroup
  318. ##
  319. podSecurityContext:
  320. enabled: true
  321. fsGroup: 1001
  322. ## Configure Container Security Context
  323. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  324. ## @param containerSecurityContext.enabled Enabled ZooKeeper containers' Security Context
  325. ## @param containerSecurityContext.runAsUser Set ZooKeeper containers' Security Context runAsUser
  326. ## @param containerSecurityContext.runAsNonRoot Set ZooKeeper containers' Security Context runAsNonRoot
  327. ## @param containerSecurityContext.allowPrivilegeEscalation Force the child process to be run as nonprivilege
  328. ##
  329. containerSecurityContext:
  330. enabled: true
  331. runAsUser: 1001
  332. runAsNonRoot: true
  333. allowPrivilegeEscalation: false
  334. ## @param hostAliases ZooKeeper pods host aliases
  335. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  336. ##
  337. hostAliases: []
  338. ## @param podLabels Extra labels for ZooKeeper pods
  339. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  340. ##
  341. podLabels: {}
  342. ## @param podAnnotations Annotations for ZooKeeper pods
  343. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  344. ##
  345. podAnnotations: {}
  346. ## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  347. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  348. ##
  349. podAffinityPreset: ""
  350. ## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  351. ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  352. ##
  353. podAntiAffinityPreset: soft
  354. ## Node affinity preset
  355. ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  356. ##
  357. nodeAffinityPreset:
  358. ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  359. ##
  360. type: ""
  361. ## @param nodeAffinityPreset.key Node label key to match Ignored if `affinity` is set.
  362. ## E.g.
  363. ## key: "kubernetes.io/e2e-az-name"
  364. ##
  365. key: ""
  366. ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set.
  367. ## E.g.
  368. ## values:
  369. ## - e2e-az1
  370. ## - e2e-az2
  371. ##
  372. values: []
  373. ## @param affinity Affinity for pod assignment
  374. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  375. ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
  376. ##
  377. affinity: {}
  378. ## @param nodeSelector Node labels for pod assignment
  379. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  380. ##
  381. nodeSelector: {}
  382. ## @param tolerations Tolerations for pod assignment
  383. ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  384. ##
  385. tolerations: []
  386. ## @param topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
  387. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  388. ##
  389. topologySpreadConstraints: []
  390. ## @param podManagementPolicy StatefulSet controller supports relax its ordering guarantees while preserving its uniqueness and identity guarantees. There are two valid pod management policies: `OrderedReady` and `Parallel`
  391. ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
  392. ##
  393. podManagementPolicy: Parallel
  394. ## @param priorityClassName Name of the existing priority class to be used by ZooKeeper pods, priority class needs to be created beforehand
  395. ## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  396. ##
  397. priorityClassName: ""
  398. ## @param schedulerName Kubernetes pod scheduler registry
  399. ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  400. ##
  401. schedulerName: ""
  402. ## @param updateStrategy.type ZooKeeper statefulset strategy type
  403. ## @param updateStrategy.rollingUpdate ZooKeeper statefulset rolling update configuration parameters
  404. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  405. ##
  406. updateStrategy:
  407. type: RollingUpdate
  408. rollingUpdate: {}
  409. ## @param extraVolumes Optionally specify extra list of additional volumes for the ZooKeeper pod(s)
  410. ## Example Use Case: mount certificates to enable TLS
  411. ## e.g:
  412. ## extraVolumes:
  413. ## - name: zookeeper-keystore
  414. ## secret:
  415. ## defaultMode: 288
  416. ## secretName: zookeeper-keystore
  417. ## - name: zookeeper-truststore
  418. ## secret:
  419. ## defaultMode: 288
  420. ## secretName: zookeeper-truststore
  421. ##
  422. extraVolumes: []
  423. ## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ZooKeeper container(s)
  424. ## Example Use Case: mount certificates to enable TLS
  425. ## e.g:
  426. ## extraVolumeMounts:
  427. ## - name: zookeeper-keystore
  428. ## mountPath: /certs/keystore
  429. ## readOnly: true
  430. ## - name: zookeeper-truststore
  431. ## mountPath: /certs/truststore
  432. ## readOnly: true
  433. ##
  434. extraVolumeMounts: []
  435. ## @param sidecars Add additional sidecar containers to the ZooKeeper pod(s)
  436. ## e.g:
  437. ## sidecars:
  438. ## - name: your-image-name
  439. ## image: your-image
  440. ## imagePullPolicy: Always
  441. ## ports:
  442. ## - name: portname
  443. ## containerPort: 1234
  444. ##
  445. sidecars: []
  446. ## @param initContainers Add additional init containers to the ZooKeeper pod(s)
  447. ## Example:
  448. ## initContainers:
  449. ## - name: your-image-name
  450. ## image: your-image
  451. ## imagePullPolicy: Always
  452. ## ports:
  453. ## - name: portname
  454. ## containerPort: 1234
  455. ##
  456. initContainers: []
  457. ## ZooKeeper Pod Disruption Budget
  458. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  459. ## @param pdb.create Deploy a pdb object for the ZooKeeper pod
  460. ## @param pdb.minAvailable Minimum available ZooKeeper replicas
  461. ## @param pdb.maxUnavailable Maximum unavailable ZooKeeper replicas
  462. ##
  463. pdb:
  464. create: false
  465. minAvailable: ""
  466. maxUnavailable: 1
  467. ## @section Traffic Exposure parameters
  468. service:
  469. ## @param service.type Kubernetes Service type
  470. ##
  471. type: ClusterIP
  472. ## @param service.ports.client ZooKeeper client service port
  473. ## @param service.ports.tls ZooKeeper TLS service port
  474. ## @param service.ports.follower ZooKeeper follower service port
  475. ## @param service.ports.election ZooKeeper election service port
  476. ##
  477. ports:
  478. client: 2181
  479. tls: 3181
  480. follower: 2888
  481. election: 3888
  482. ## Node ports to expose
  483. ## NOTE: choose port between <30000-32767>
  484. ## @param service.nodePorts.client Node port for clients
  485. ## @param service.nodePorts.tls Node port for TLS
  486. ##
  487. nodePorts:
  488. client: ""
  489. tls: ""
  490. ## @param service.disableBaseClientPort Remove client port from service definitions.
  491. ##
  492. disableBaseClientPort: false
  493. ## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
  494. ## Values: ClientIP or None
  495. ## ref: https://kubernetes.io/docs/user-guide/services/
  496. ##
  497. sessionAffinity: None
  498. ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
  499. ## sessionAffinityConfig:
  500. ## clientIP:
  501. ## timeoutSeconds: 300
  502. ##
  503. sessionAffinityConfig: {}
  504. ## @param service.clusterIP ZooKeeper service Cluster IP
  505. ## e.g.:
  506. ## clusterIP: None
  507. ##
  508. clusterIP: ""
  509. ## @param service.loadBalancerIP ZooKeeper service Load Balancer IP
  510. ## ref: https://kubernetes.io/docs/user-guide/services/#type-loadbalancer
  511. ##
  512. loadBalancerIP: ""
  513. ## @param service.loadBalancerSourceRanges ZooKeeper service Load Balancer sources
  514. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  515. ## e.g:
  516. ## loadBalancerSourceRanges:
  517. ## - 10.10.10.0/24
  518. ##
  519. loadBalancerSourceRanges: []
  520. ## @param service.externalTrafficPolicy ZooKeeper service external traffic policy
  521. ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  522. ##
  523. externalTrafficPolicy: Cluster
  524. ## @param service.annotations Additional custom annotations for ZooKeeper service
  525. ##
  526. annotations: {}
  527. ## @param service.extraPorts Extra ports to expose in the ZooKeeper service (normally used with the `sidecar` value)
  528. ##
  529. extraPorts: []
  530. ## @param service.headless.annotations Annotations for the Headless Service
  531. ## @param service.headless.publishNotReadyAddresses If the ZooKeeper headless service should publish DNS records for not ready pods
  532. ## @param service.headless.servicenameOverride String to partially override headless service name
  533. ##
  534. headless:
  535. publishNotReadyAddresses: true
  536. annotations: {}
  537. servicenameOverride: ""
  538. ## Network policies
  539. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  540. ##
  541. networkPolicy:
  542. ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  543. ##
  544. enabled: false
  545. ## @param networkPolicy.allowExternal Don't require client label for connections
  546. ## When set to false, only pods with the correct client label will have network access to the port Redis&reg; is
  547. ## listening on. When true, zookeeper accept connections from any source (with the correct destination port).
  548. ##
  549. allowExternal: true
  550. ## @section Other Parameters
  551. ## Service account for ZooKeeper to use.
  552. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  553. ##
  554. serviceAccount:
  555. ## @param serviceAccount.create Enable creation of ServiceAccount for ZooKeeper pod
  556. ##
  557. create: false
  558. ## @param serviceAccount.name The name of the ServiceAccount to use.
  559. ## If not set and create is true, a name is generated using the common.names.fullname template
  560. ##
  561. name: ""
  562. ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
  563. ## Can be set to false if pods using this serviceAccount do not need to use K8s API
  564. ##
  565. automountServiceAccountToken: true
  566. ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
  567. ##
  568. annotations: {}
  569. ## @section Persistence parameters
  570. ## Enable persistence using Persistent Volume Claims
  571. ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
  572. ##
  573. persistence:
  574. ## @param persistence.enabled Enable ZooKeeper data persistence using PVC. If false, use emptyDir
  575. ##
  576. enabled: true
  577. ## @param persistence.existingClaim Name of an existing PVC to use (only when deploying a single replica)
  578. ##
  579. existingClaim: ""
  580. ## @param persistence.storageClass PVC Storage Class for ZooKeeper data volume
  581. ## If defined, storageClassName: <storageClass>
  582. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  583. ## If undefined (the default) or set to null, no storageClassName spec is
  584. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  585. ## GKE, AWS & OpenStack)
  586. ##
  587. storageClass: ""
  588. ## @param persistence.accessModes PVC Access modes
  589. ##
  590. accessModes:
  591. - ReadWriteOnce
  592. ## @param persistence.size PVC Storage Request for ZooKeeper data volume
  593. ##
  594. size: 8Gi
  595. ## @param persistence.annotations Annotations for the PVC
  596. ##
  597. annotations: {}
  598. ## @param persistence.labels Labels for the PVC
  599. ##
  600. labels: {}
  601. ## @param persistence.selector Selector to match an existing Persistent Volume for ZooKeeper's data PVC
  602. ## If set, the PVC can't have a PV dynamically provisioned for it
  603. ## E.g.
  604. ## selector:
  605. ## matchLabels:
  606. ## app: my-app
  607. ##
  608. selector: {}
  609. ## Persistence for a dedicated data log directory
  610. ##
  611. dataLogDir:
  612. ## @param persistence.dataLogDir.size PVC Storage Request for ZooKeeper's dedicated data log directory
  613. ##
  614. size: 8Gi
  615. ## @param persistence.dataLogDir.existingClaim Provide an existing `PersistentVolumeClaim` for ZooKeeper's data log directory
  616. ## If defined, PVC must be created manually before volume will be bound
  617. ## The value is evaluated as a template
  618. ##
  619. existingClaim: ""
  620. ## @param persistence.dataLogDir.selector Selector to match an existing Persistent Volume for ZooKeeper's data log PVC
  621. ## If set, the PVC can't have a PV dynamically provisioned for it
  622. ## E.g.
  623. ## selector:
  624. ## matchLabels:
  625. ## app: my-app
  626. ##
  627. selector: {}
  628. ## @section Volume Permissions parameters
  629. ##
  630. ## Init containers parameters:
  631. ## volumePermissions: Change the owner and group of the persistent volume(s) mountpoint(s) to 'runAsUser:fsGroup' on each node
  632. ##
  633. volumePermissions:
  634. ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume
  635. ##
  636. enabled: false
  637. ## @param volumePermissions.image.registry Init container volume-permissions image registry
  638. ## @param volumePermissions.image.repository Init container volume-permissions image repository
  639. ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
  640. ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  641. ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
  642. ## @param volumePermissions.image.pullSecrets Init container volume-permissions image pull secrets
  643. ##
  644. image:
  645. registry: docker.io
  646. repository: bitnami/bitnami-shell
  647. tag: 11-debian-11-r98
  648. digest: ""
  649. pullPolicy: IfNotPresent
  650. ## Optionally specify an array of imagePullSecrets.
  651. ## Secrets must be manually created in the namespace.
  652. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  653. ## Example:
  654. ## pullSecrets:
  655. ## - myRegistryKeySecretName
  656. ##
  657. pullSecrets: []
  658. ## Init container resource requests and limits
  659. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  660. ## @param volumePermissions.resources.limits Init container volume-permissions resource limits
  661. ## @param volumePermissions.resources.requests Init container volume-permissions resource requests
  662. ##
  663. resources:
  664. limits: {}
  665. requests: {}
  666. ## Init container' Security Context
  667. ## Note: the chown of the data folder is done to containerSecurityContext.runAsUser
  668. ## and not the below volumePermissions.containerSecurityContext.runAsUser
  669. ## @param volumePermissions.containerSecurityContext.enabled Enabled init container Security Context
  670. ## @param volumePermissions.containerSecurityContext.runAsUser User ID for the init container
  671. ##
  672. containerSecurityContext:
  673. enabled: true
  674. runAsUser: 0
  675. ## @section Metrics parameters
  676. ##
  677. ## ZooKeeper Prometheus Exporter configuration
  678. ##
  679. metrics:
  680. ## @param metrics.enabled Enable Prometheus to access ZooKeeper metrics endpoint
  681. ##
  682. enabled: false
  683. ## @param metrics.containerPort ZooKeeper Prometheus Exporter container port
  684. ##
  685. containerPort: 9141
  686. ## Service configuration
  687. ##
  688. service:
  689. ## @param metrics.service.type ZooKeeper Prometheus Exporter service type
  690. ##
  691. type: ClusterIP
  692. ## @param metrics.service.port ZooKeeper Prometheus Exporter service port
  693. ##
  694. port: 9141
  695. ## @param metrics.service.annotations [object] Annotations for Prometheus to auto-discover the metrics endpoint
  696. ##
  697. annotations:
  698. prometheus.io/scrape: "true"
  699. prometheus.io/port: "{{ .Values.metrics.service.port }}"
  700. prometheus.io/path: "/metrics"
  701. ## Prometheus Operator ServiceMonitor configuration
  702. ##
  703. serviceMonitor:
  704. ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
  705. ##
  706. enabled: false
  707. ## @param metrics.serviceMonitor.namespace Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
  708. ##
  709. namespace: ""
  710. ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
  711. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  712. ##
  713. interval: ""
  714. ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
  715. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  716. ##
  717. scrapeTimeout: ""
  718. ## @param metrics.serviceMonitor.additionalLabels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus
  719. ##
  720. additionalLabels: {}
  721. ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
  722. ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
  723. ##
  724. selector: {}
  725. ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
  726. ##
  727. relabelings: []
  728. ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
  729. ##
  730. metricRelabelings: []
  731. ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
  732. ##
  733. honorLabels: false
  734. ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
  735. ##
  736. jobLabel: ""
  737. ## Prometheus Operator PrometheusRule configuration
  738. ##
  739. prometheusRule:
  740. ## @param metrics.prometheusRule.enabled Create a PrometheusRule for Prometheus Operator
  741. ##
  742. enabled: false
  743. ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
  744. ##
  745. namespace: ""
  746. ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so PrometheusRule will be discovered by Prometheus
  747. ##
  748. additionalLabels: {}
  749. ## @param metrics.prometheusRule.rules PrometheusRule definitions
  750. ## - alert: ZooKeeperSyncedFollowers
  751. ## annotations:
  752. ## message: The number of synced followers for the leader node in ZooKeeper deployment my-release is less than 2. This usually means that some of the ZooKeeper nodes aren't communicating properly. If it doesn't resolve itself you can try killing the pods (one by one).
  753. ## expr: max(synced_followers{service="my-release-metrics"}) < 2
  754. ## for: 5m
  755. ## labels:
  756. ## severity: critical
  757. ## - alert: ZooKeeperOutstandingRequests
  758. ## annotations:
  759. ## message: The number of outstanding requests for ZooKeeper pod {{ $labels.pod }} is greater than 10. This can indicate a performance issue with the Pod or cluster a whole.
  760. ## expr: outstanding_requests{service="my-release-metrics"} > 10
  761. ## for: 5m
  762. ## labels:
  763. ## severity: critical
  764. ##
  765. rules: []
  766. ## @section TLS/SSL parameters
  767. ##
  768. ## Enable SSL/TLS encryption
  769. ##
  770. tls:
  771. client:
  772. ## @param tls.client.enabled Enable TLS for client connections
  773. ##
  774. enabled: false
  775. ## @param tls.client.auth SSL Client auth. Can be "none", "want" or "need".
  776. ##
  777. auth: "none"
  778. ## @param tls.client.autoGenerated Generate automatically self-signed TLS certificates for ZooKeeper client communications
  779. ## Currently only supports PEM certificates
  780. ##
  781. autoGenerated: false
  782. ## @param tls.client.existingSecret Name of the existing secret containing the TLS certificates for ZooKeeper client communications
  783. ##
  784. existingSecret: ""
  785. ## @param tls.client.existingSecretKeystoreKey The secret key from the tls.client.existingSecret containing the Keystore.
  786. ##
  787. existingSecretKeystoreKey: ""
  788. ## @param tls.client.existingSecretTruststoreKey The secret key from the tls.client.existingSecret containing the Truststore.
  789. ##
  790. existingSecretTruststoreKey: ""
  791. ## @param tls.client.keystorePath Location of the KeyStore file used for Client connections
  792. ##
  793. keystorePath: /opt/bitnami/zookeeper/config/certs/client/zookeeper.keystore.jks
  794. ## @param tls.client.truststorePath Location of the TrustStore file used for Client connections
  795. ##
  796. truststorePath: /opt/bitnami/zookeeper/config/certs/client/zookeeper.truststore.jks
  797. ## @param tls.client.passwordsSecretName Existing secret containing Keystore and truststore passwords
  798. ##
  799. passwordsSecretName: ""
  800. ## @param tls.client.passwordsSecretKeystoreKey The secret key from the tls.client.passwordsSecretName containing the password for the Keystore.
  801. ##
  802. passwordsSecretKeystoreKey: ""
  803. ## @param tls.client.passwordsSecretTruststoreKey The secret key from the tls.client.passwordsSecretName containing the password for the Truststore.
  804. ##
  805. passwordsSecretTruststoreKey: ""
  806. ## @param tls.client.keystorePassword Password to access KeyStore if needed
  807. ##
  808. keystorePassword: ""
  809. ## @param tls.client.truststorePassword Password to access TrustStore if needed
  810. ##
  811. truststorePassword: ""
  812. quorum:
  813. ## @param tls.quorum.enabled Enable TLS for quorum protocol
  814. ##
  815. enabled: false
  816. ## @param tls.quorum.auth SSL Quorum Client auth. Can be "none", "want" or "need".
  817. ##
  818. auth: "none"
  819. ## @param tls.quorum.autoGenerated Create self-signed TLS certificates. Currently only supports PEM certificates.
  820. ##
  821. autoGenerated: false
  822. ## @param tls.quorum.existingSecret Name of the existing secret containing the TLS certificates for ZooKeeper quorum protocol
  823. ##
  824. existingSecret: ""
  825. ## @param tls.quorum.existingSecretKeystoreKey The secret key from the tls.quorum.existingSecret containing the Keystore.
  826. ##
  827. existingSecretKeystoreKey: ""
  828. ## @param tls.quorum.existingSecretTruststoreKey The secret key from the tls.quorum.existingSecret containing the Truststore.
  829. ##
  830. existingSecretTruststoreKey: ""
  831. ## @param tls.quorum.keystorePath Location of the KeyStore file used for Quorum protocol
  832. ##
  833. keystorePath: /opt/bitnami/zookeeper/config/certs/quorum/zookeeper.keystore.jks
  834. ## @param tls.quorum.truststorePath Location of the TrustStore file used for Quorum protocol
  835. ##
  836. truststorePath: /opt/bitnami/zookeeper/config/certs/quorum/zookeeper.truststore.jks
  837. ## @param tls.quorum.passwordsSecretName Existing secret containing Keystore and truststore passwords
  838. ##
  839. passwordsSecretName: ""
  840. ## @param tls.quorum.passwordsSecretKeystoreKey The secret key from the tls.quorum.passwordsSecretName containing the password for the Keystore.
  841. ##
  842. passwordsSecretKeystoreKey: ""
  843. ## @param tls.quorum.passwordsSecretTruststoreKey The secret key from the tls.quorum.passwordsSecretName containing the password for the Truststore.
  844. ##
  845. passwordsSecretTruststoreKey: ""
  846. ## @param tls.quorum.keystorePassword Password to access KeyStore if needed
  847. ##
  848. keystorePassword: ""
  849. ## @param tls.quorum.truststorePassword Password to access TrustStore if needed
  850. ##
  851. truststorePassword: ""
  852. ## Init container resource requests and limits
  853. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  854. ## @param tls.resources.limits The resources limits for the TLS init container
  855. ## @param tls.resources.requests The requested resources for the TLS init container
  856. ##
  857. resources:
  858. limits: {}
  859. requests: {}