values.yaml 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881
  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.4-debian-12-r6
  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: 3
  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. cpu: 2
  312. memory: 4Gi
  313. requests:
  314. memory: 256Mi
  315. cpu: 250m
  316. ## Configure Pods Security Context
  317. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  318. ## @param podSecurityContext.enabled Enabled ZooKeeper pods' Security Context
  319. ## @param podSecurityContext.fsGroup Set ZooKeeper pod's Security Context fsGroup
  320. ##
  321. podSecurityContext:
  322. enabled: true
  323. fsGroup: 1001
  324. ## Configure Container Security Context
  325. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  326. ## @param containerSecurityContext.enabled Enabled ZooKeeper containers' Security Context
  327. ## @param containerSecurityContext.runAsUser Set ZooKeeper containers' Security Context runAsUser
  328. ## @param containerSecurityContext.runAsNonRoot Set ZooKeeper containers' Security Context runAsNonRoot
  329. ## @param containerSecurityContext.allowPrivilegeEscalation Force the child process to be run as nonprivilege
  330. ##
  331. containerSecurityContext:
  332. enabled: true
  333. runAsUser: 1001
  334. runAsNonRoot: true
  335. allowPrivilegeEscalation: false
  336. ## @param hostAliases ZooKeeper pods host aliases
  337. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  338. ##
  339. hostAliases: []
  340. ## @param podLabels Extra labels for ZooKeeper pods
  341. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  342. ##
  343. podLabels: {}
  344. ## @param podAnnotations Annotations for ZooKeeper pods
  345. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  346. ##
  347. podAnnotations: {}
  348. ## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  349. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  350. ##
  351. podAffinityPreset: ""
  352. ## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  353. ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  354. ##
  355. podAntiAffinityPreset: soft
  356. ## Node affinity preset
  357. ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  358. ##
  359. nodeAffinityPreset:
  360. ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  361. ##
  362. type: ""
  363. ## @param nodeAffinityPreset.key Node label key to match Ignored if `affinity` is set.
  364. ## E.g.
  365. ## key: "kubernetes.io/e2e-az-name"
  366. ##
  367. key: ""
  368. ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set.
  369. ## E.g.
  370. ## values:
  371. ## - e2e-az1
  372. ## - e2e-az2
  373. ##
  374. values: []
  375. ## @param affinity Affinity for pod assignment
  376. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  377. ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
  378. ##
  379. affinity: {}
  380. ## @param nodeSelector Node labels for pod assignment
  381. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  382. ##
  383. nodeSelector: {}
  384. ## @param tolerations Tolerations for pod assignment
  385. ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  386. ##
  387. tolerations: []
  388. ## @param topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
  389. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  390. ##
  391. topologySpreadConstraints: []
  392. ## @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`
  393. ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
  394. ##
  395. podManagementPolicy: Parallel
  396. ## @param priorityClassName Name of the existing priority class to be used by ZooKeeper pods, priority class needs to be created beforehand
  397. ## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  398. ##
  399. priorityClassName: ""
  400. ## @param schedulerName Kubernetes pod scheduler registry
  401. ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  402. ##
  403. schedulerName: ""
  404. ## @param updateStrategy.type ZooKeeper statefulset strategy type
  405. ## @param updateStrategy.rollingUpdate ZooKeeper statefulset rolling update configuration parameters
  406. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  407. ##
  408. updateStrategy:
  409. type: RollingUpdate
  410. rollingUpdate: {}
  411. ## @param extraVolumes Optionally specify extra list of additional volumes for the ZooKeeper pod(s)
  412. ## Example Use Case: mount certificates to enable TLS
  413. ## e.g:
  414. ## extraVolumes:
  415. ## - name: zookeeper-keystore
  416. ## secret:
  417. ## defaultMode: 288
  418. ## secretName: zookeeper-keystore
  419. ## - name: zookeeper-truststore
  420. ## secret:
  421. ## defaultMode: 288
  422. ## secretName: zookeeper-truststore
  423. ##
  424. extraVolumes: []
  425. ## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ZooKeeper container(s)
  426. ## Example Use Case: mount certificates to enable TLS
  427. ## e.g:
  428. ## extraVolumeMounts:
  429. ## - name: zookeeper-keystore
  430. ## mountPath: /certs/keystore
  431. ## readOnly: true
  432. ## - name: zookeeper-truststore
  433. ## mountPath: /certs/truststore
  434. ## readOnly: true
  435. ##
  436. extraVolumeMounts: []
  437. ## @param sidecars Add additional sidecar containers to the ZooKeeper pod(s)
  438. ## e.g:
  439. ## sidecars:
  440. ## - name: your-image-name
  441. ## image: your-image
  442. ## imagePullPolicy: Always
  443. ## ports:
  444. ## - name: portname
  445. ## containerPort: 1234
  446. ##
  447. sidecars: []
  448. ## @param initContainers Add additional init containers to the ZooKeeper pod(s)
  449. ## Example:
  450. ## initContainers:
  451. ## - name: your-image-name
  452. ## image: your-image
  453. ## imagePullPolicy: Always
  454. ## ports:
  455. ## - name: portname
  456. ## containerPort: 1234
  457. ##
  458. initContainers: []
  459. ## ZooKeeper Pod Disruption Budget
  460. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/
  461. ## @param pdb.create Deploy a pdb object for the ZooKeeper pod
  462. ## @param pdb.minAvailable Minimum available ZooKeeper replicas
  463. ## @param pdb.maxUnavailable Maximum unavailable ZooKeeper replicas
  464. ##
  465. pdb:
  466. create: false
  467. minAvailable: ""
  468. maxUnavailable: 1
  469. ## @section Traffic Exposure parameters
  470. service:
  471. ## @param service.type Kubernetes Service type
  472. ##
  473. type: ClusterIP
  474. ## @param service.ports.client ZooKeeper client service port
  475. ## @param service.ports.tls ZooKeeper TLS service port
  476. ## @param service.ports.follower ZooKeeper follower service port
  477. ## @param service.ports.election ZooKeeper election service port
  478. ##
  479. ports:
  480. client: 2181
  481. tls: 3181
  482. follower: 2888
  483. election: 3888
  484. ## Node ports to expose
  485. ## NOTE: choose port between <30000-32767>
  486. ## @param service.nodePorts.client Node port for clients
  487. ## @param service.nodePorts.tls Node port for TLS
  488. ##
  489. nodePorts:
  490. client: ""
  491. tls: ""
  492. ## @param service.disableBaseClientPort Remove client port from service definitions.
  493. ##
  494. disableBaseClientPort: false
  495. ## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
  496. ## Values: ClientIP or None
  497. ## ref: https://kubernetes.io/docs/user-guide/services/
  498. ##
  499. sessionAffinity: None
  500. ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
  501. ## sessionAffinityConfig:
  502. ## clientIP:
  503. ## timeoutSeconds: 300
  504. ##
  505. sessionAffinityConfig: {}
  506. ## @param service.clusterIP ZooKeeper service Cluster IP
  507. ## e.g.:
  508. ## clusterIP: None
  509. ##
  510. clusterIP: ""
  511. ## @param service.loadBalancerIP ZooKeeper service Load Balancer IP
  512. ## ref: https://kubernetes.io/docs/user-guide/services/#type-loadbalancer
  513. ##
  514. loadBalancerIP: ""
  515. ## @param service.loadBalancerSourceRanges ZooKeeper service Load Balancer sources
  516. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  517. ## e.g:
  518. ## loadBalancerSourceRanges:
  519. ## - 10.10.10.0/24
  520. ##
  521. loadBalancerSourceRanges: []
  522. ## @param service.externalTrafficPolicy ZooKeeper service external traffic policy
  523. ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  524. ##
  525. externalTrafficPolicy: Cluster
  526. ## @param service.annotations Additional custom annotations for ZooKeeper service
  527. ##
  528. annotations: {}
  529. ## @param service.extraPorts Extra ports to expose in the ZooKeeper service (normally used with the `sidecar` value)
  530. ##
  531. extraPorts: []
  532. ## @param service.headless.annotations Annotations for the Headless Service
  533. ## @param service.headless.publishNotReadyAddresses If the ZooKeeper headless service should publish DNS records for not ready pods
  534. ## @param service.headless.servicenameOverride String to partially override headless service name
  535. ##
  536. headless:
  537. publishNotReadyAddresses: true
  538. annotations: {}
  539. servicenameOverride: ""
  540. ## Network policies
  541. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  542. ##
  543. networkPolicy:
  544. ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  545. ##
  546. enabled: false
  547. ## @param networkPolicy.allowExternal Don't require client label for connections
  548. ## When set to false, only pods with the correct client label will have network access to the port Redis&reg; is
  549. ## listening on. When true, zookeeper accept connections from any source (with the correct destination port).
  550. ##
  551. allowExternal: true
  552. ## @section Other Parameters
  553. ## Service account for ZooKeeper to use.
  554. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  555. ##
  556. serviceAccount:
  557. ## @param serviceAccount.create Enable creation of ServiceAccount for ZooKeeper pod
  558. ##
  559. create: false
  560. ## @param serviceAccount.name The name of the ServiceAccount to use.
  561. ## If not set and create is true, a name is generated using the common.names.fullname template
  562. ##
  563. name: ""
  564. ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
  565. ## Can be set to false if pods using this serviceAccount do not need to use K8s API
  566. ##
  567. automountServiceAccountToken: true
  568. ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
  569. ##
  570. annotations: {}
  571. ## @section Persistence parameters
  572. ## Enable persistence using Persistent Volume Claims
  573. ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
  574. ##
  575. persistence:
  576. ## @param persistence.enabled Enable ZooKeeper data persistence using PVC. If false, use emptyDir
  577. ##
  578. enabled: true
  579. ## @param persistence.existingClaim Name of an existing PVC to use (only when deploying a single replica)
  580. ##
  581. existingClaim: ""
  582. ## @param persistence.storageClass PVC Storage Class for ZooKeeper data volume
  583. ## If defined, storageClassName: <storageClass>
  584. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  585. ## If undefined (the default) or set to null, no storageClassName spec is
  586. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  587. ## GKE, AWS & OpenStack)
  588. ##
  589. storageClass: ""
  590. ## @param persistence.accessModes PVC Access modes
  591. ##
  592. accessModes:
  593. - ReadWriteOnce
  594. ## @param persistence.size PVC Storage Request for ZooKeeper data volume
  595. ##
  596. size: 8Gi
  597. ## @param persistence.annotations Annotations for the PVC
  598. ##
  599. annotations: {}
  600. ## @param persistence.labels Labels for the PVC
  601. ##
  602. labels: {}
  603. ## @param persistence.selector Selector to match an existing Persistent Volume for ZooKeeper's data PVC
  604. ## If set, the PVC can't have a PV dynamically provisioned for it
  605. ## E.g.
  606. ## selector:
  607. ## matchLabels:
  608. ## app: my-app
  609. ##
  610. selector: {}
  611. ## Persistence for a dedicated data log directory
  612. ##
  613. dataLogDir:
  614. ## @param persistence.dataLogDir.size PVC Storage Request for ZooKeeper's dedicated data log directory
  615. ##
  616. size: 8Gi
  617. ## @param persistence.dataLogDir.existingClaim Provide an existing `PersistentVolumeClaim` for ZooKeeper's data log directory
  618. ## If defined, PVC must be created manually before volume will be bound
  619. ## The value is evaluated as a template
  620. ##
  621. existingClaim: ""
  622. ## @param persistence.dataLogDir.selector Selector to match an existing Persistent Volume for ZooKeeper's data log PVC
  623. ## If set, the PVC can't have a PV dynamically provisioned for it
  624. ## E.g.
  625. ## selector:
  626. ## matchLabels:
  627. ## app: my-app
  628. ##
  629. selector: {}
  630. ## @section Volume Permissions parameters
  631. ##
  632. ## Init containers parameters:
  633. ## volumePermissions: Change the owner and group of the persistent volume(s) mountpoint(s) to 'runAsUser:fsGroup' on each node
  634. ##
  635. volumePermissions:
  636. ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume
  637. ##
  638. enabled: false
  639. ## @param volumePermissions.image.registry Init container volume-permissions image registry
  640. ## @param volumePermissions.image.repository Init container volume-permissions image repository
  641. ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
  642. ## @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
  643. ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
  644. ## @param volumePermissions.image.pullSecrets Init container volume-permissions image pull secrets
  645. ##
  646. image:
  647. registry: docker.io
  648. repository: bitnami/bitnami-shell
  649. tag: 11-debian-11-r98
  650. digest: ""
  651. pullPolicy: IfNotPresent
  652. ## Optionally specify an array of imagePullSecrets.
  653. ## Secrets must be manually created in the namespace.
  654. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  655. ## Example:
  656. ## pullSecrets:
  657. ## - myRegistryKeySecretName
  658. ##
  659. pullSecrets: []
  660. ## Init container resource requests and limits
  661. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  662. ## @param volumePermissions.resources.limits Init container volume-permissions resource limits
  663. ## @param volumePermissions.resources.requests Init container volume-permissions resource requests
  664. ##
  665. resources:
  666. limits: {}
  667. requests: {}
  668. ## Init container' Security Context
  669. ## Note: the chown of the data folder is done to containerSecurityContext.runAsUser
  670. ## and not the below volumePermissions.containerSecurityContext.runAsUser
  671. ## @param volumePermissions.containerSecurityContext.enabled Enabled init container Security Context
  672. ## @param volumePermissions.containerSecurityContext.runAsUser User ID for the init container
  673. ##
  674. containerSecurityContext:
  675. enabled: true
  676. runAsUser: 0
  677. ## @section Metrics parameters
  678. ##
  679. ## ZooKeeper Prometheus Exporter configuration
  680. ##
  681. metrics:
  682. ## @param metrics.enabled Enable Prometheus to access ZooKeeper metrics endpoint
  683. ##
  684. enabled: false
  685. ## @param metrics.containerPort ZooKeeper Prometheus Exporter container port
  686. ##
  687. containerPort: 9141
  688. ## Service configuration
  689. ##
  690. service:
  691. ## @param metrics.service.type ZooKeeper Prometheus Exporter service type
  692. ##
  693. type: ClusterIP
  694. ## @param metrics.service.port ZooKeeper Prometheus Exporter service port
  695. ##
  696. port: 9141
  697. ## @param metrics.service.annotations [object] Annotations for Prometheus to auto-discover the metrics endpoint
  698. ##
  699. annotations:
  700. prometheus.io/scrape: "true"
  701. prometheus.io/port: "{{ .Values.metrics.service.port }}"
  702. prometheus.io/path: "/metrics"
  703. ## Prometheus Operator ServiceMonitor configuration
  704. ##
  705. serviceMonitor:
  706. ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
  707. ##
  708. enabled: false
  709. ## @param metrics.serviceMonitor.namespace Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
  710. ##
  711. namespace: ""
  712. ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
  713. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  714. ##
  715. interval: ""
  716. ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
  717. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  718. ##
  719. scrapeTimeout: ""
  720. ## @param metrics.serviceMonitor.additionalLabels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus
  721. ##
  722. additionalLabels: {}
  723. ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
  724. ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
  725. ##
  726. selector: {}
  727. ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
  728. ##
  729. relabelings: []
  730. ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
  731. ##
  732. metricRelabelings: []
  733. ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
  734. ##
  735. honorLabels: false
  736. ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
  737. ##
  738. jobLabel: ""
  739. ## Prometheus Operator PrometheusRule configuration
  740. ##
  741. prometheusRule:
  742. ## @param metrics.prometheusRule.enabled Create a PrometheusRule for Prometheus Operator
  743. ##
  744. enabled: false
  745. ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
  746. ##
  747. namespace: ""
  748. ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so PrometheusRule will be discovered by Prometheus
  749. ##
  750. additionalLabels: {}
  751. ## @param metrics.prometheusRule.rules PrometheusRule definitions
  752. ## - alert: ZooKeeperSyncedFollowers
  753. ## annotations:
  754. ## 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).
  755. ## expr: max(synced_followers{service="my-release-metrics"}) < 2
  756. ## for: 5m
  757. ## labels:
  758. ## severity: critical
  759. ## - alert: ZooKeeperOutstandingRequests
  760. ## annotations:
  761. ## 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.
  762. ## expr: outstanding_requests{service="my-release-metrics"} > 10
  763. ## for: 5m
  764. ## labels:
  765. ## severity: critical
  766. ##
  767. rules: []
  768. ## @section TLS/SSL parameters
  769. ##
  770. ## Enable SSL/TLS encryption
  771. ##
  772. tls:
  773. client:
  774. ## @param tls.client.enabled Enable TLS for client connections
  775. ##
  776. enabled: false
  777. ## @param tls.client.auth SSL Client auth. Can be "none", "want" or "need".
  778. ##
  779. auth: "none"
  780. ## @param tls.client.autoGenerated Generate automatically self-signed TLS certificates for ZooKeeper client communications
  781. ## Currently only supports PEM certificates
  782. ##
  783. autoGenerated: false
  784. ## @param tls.client.existingSecret Name of the existing secret containing the TLS certificates for ZooKeeper client communications
  785. ##
  786. existingSecret: ""
  787. ## @param tls.client.existingSecretKeystoreKey The secret key from the tls.client.existingSecret containing the Keystore.
  788. ##
  789. existingSecretKeystoreKey: ""
  790. ## @param tls.client.existingSecretTruststoreKey The secret key from the tls.client.existingSecret containing the Truststore.
  791. ##
  792. existingSecretTruststoreKey: ""
  793. ## @param tls.client.keystorePath Location of the KeyStore file used for Client connections
  794. ##
  795. keystorePath: /opt/bitnami/zookeeper/config/certs/client/zookeeper.keystore.jks
  796. ## @param tls.client.truststorePath Location of the TrustStore file used for Client connections
  797. ##
  798. truststorePath: /opt/bitnami/zookeeper/config/certs/client/zookeeper.truststore.jks
  799. ## @param tls.client.passwordsSecretName Existing secret containing Keystore and truststore passwords
  800. ##
  801. passwordsSecretName: ""
  802. ## @param tls.client.passwordsSecretKeystoreKey The secret key from the tls.client.passwordsSecretName containing the password for the Keystore.
  803. ##
  804. passwordsSecretKeystoreKey: ""
  805. ## @param tls.client.passwordsSecretTruststoreKey The secret key from the tls.client.passwordsSecretName containing the password for the Truststore.
  806. ##
  807. passwordsSecretTruststoreKey: ""
  808. ## @param tls.client.keystorePassword Password to access KeyStore if needed
  809. ##
  810. keystorePassword: ""
  811. ## @param tls.client.truststorePassword Password to access TrustStore if needed
  812. ##
  813. truststorePassword: ""
  814. quorum:
  815. ## @param tls.quorum.enabled Enable TLS for quorum protocol
  816. ##
  817. enabled: false
  818. ## @param tls.quorum.auth SSL Quorum Client auth. Can be "none", "want" or "need".
  819. ##
  820. auth: "none"
  821. ## @param tls.quorum.autoGenerated Create self-signed TLS certificates. Currently only supports PEM certificates.
  822. ##
  823. autoGenerated: false
  824. ## @param tls.quorum.existingSecret Name of the existing secret containing the TLS certificates for ZooKeeper quorum protocol
  825. ##
  826. existingSecret: ""
  827. ## @param tls.quorum.existingSecretKeystoreKey The secret key from the tls.quorum.existingSecret containing the Keystore.
  828. ##
  829. existingSecretKeystoreKey: ""
  830. ## @param tls.quorum.existingSecretTruststoreKey The secret key from the tls.quorum.existingSecret containing the Truststore.
  831. ##
  832. existingSecretTruststoreKey: ""
  833. ## @param tls.quorum.keystorePath Location of the KeyStore file used for Quorum protocol
  834. ##
  835. keystorePath: /opt/bitnami/zookeeper/config/certs/quorum/zookeeper.keystore.jks
  836. ## @param tls.quorum.truststorePath Location of the TrustStore file used for Quorum protocol
  837. ##
  838. truststorePath: /opt/bitnami/zookeeper/config/certs/quorum/zookeeper.truststore.jks
  839. ## @param tls.quorum.passwordsSecretName Existing secret containing Keystore and truststore passwords
  840. ##
  841. passwordsSecretName: ""
  842. ## @param tls.quorum.passwordsSecretKeystoreKey The secret key from the tls.quorum.passwordsSecretName containing the password for the Keystore.
  843. ##
  844. passwordsSecretKeystoreKey: ""
  845. ## @param tls.quorum.passwordsSecretTruststoreKey The secret key from the tls.quorum.passwordsSecretName containing the password for the Truststore.
  846. ##
  847. passwordsSecretTruststoreKey: ""
  848. ## @param tls.quorum.keystorePassword Password to access KeyStore if needed
  849. ##
  850. keystorePassword: ""
  851. ## @param tls.quorum.truststorePassword Password to access TrustStore if needed
  852. ##
  853. truststorePassword: ""
  854. ## Init container resource requests and limits
  855. ## ref: https://kubernetes.io/docs/user-guide/compute-resources/
  856. ## @param tls.resources.limits The resources limits for the TLS init container
  857. ## @param tls.resources.requests The requested resources for the TLS init container
  858. ##
  859. resources:
  860. limits: {}
  861. requests: {}