values.yaml 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256
  1. # Copyright Broadcom, Inc. All Rights Reserved.
  2. # SPDX-License-Identifier: APACHE-2.0
  3. ## @section Global parameters
  4. ## Global Docker image parameters
  5. ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
  6. ## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
  7. ##
  8. ## @param global.imageRegistry Global Docker image registry
  9. ## @param global.imagePullSecrets Global Docker registry secret names as an array
  10. ## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
  11. ## @param global.storageClass DEPRECATED: use global.defaultStorageClass instead
  12. ##
  13. global:
  14. imageRegistry: ""
  15. ## E.g.
  16. ## imagePullSecrets:
  17. ## - myRegistryKeySecretName
  18. ##
  19. imagePullSecrets: []
  20. defaultStorageClass: "openebs-hostpath"
  21. storageClass: "openebs-hostpath"
  22. ## Compatibility adaptations for Kubernetes platforms
  23. ##
  24. compatibility:
  25. ## Compatibility adaptations for Openshift
  26. ##
  27. openshift:
  28. ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
  29. ##
  30. adaptSecurityContext: auto
  31. ## @section Common parameters
  32. ##
  33. ## @param kubeVersion Override Kubernetes version
  34. ##
  35. kubeVersion: ""
  36. ## @param nameOverride String to partially override common.names.name
  37. ##
  38. nameOverride: ""
  39. ## @param fullnameOverride String to fully override common.names.fullname
  40. ##
  41. fullnameOverride: ""
  42. ## @param namespaceOverride String to fully override common.names.namespace
  43. ##
  44. namespaceOverride: ""
  45. ## @param commonLabels Labels to add to all deployed objects
  46. ##
  47. commonLabels: {}
  48. ## @param commonAnnotations Annotations to add to all deployed objects
  49. ##
  50. commonAnnotations: {}
  51. ## @param clusterDomain Kubernetes cluster domain name
  52. ##
  53. clusterDomain: cluster.local
  54. ## @param extraDeploy Array of extra objects to deploy with the release
  55. ##
  56. extraDeploy: []
  57. ## Enable diagnostic mode in the deployment
  58. ##
  59. diagnosticMode:
  60. ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
  61. ##
  62. enabled: false
  63. ## @param diagnosticMode.command Command to override all containers in the deployment
  64. ##
  65. command:
  66. - sleep
  67. ## @param diagnosticMode.args Args to override all containers in the deployment
  68. ##
  69. args:
  70. - infinity
  71. ## @section ClickHouse Parameters
  72. ##
  73. ## Bitnami ClickHouse image
  74. ## ref: https://hub.docker.com/r/bitnami/clickhouse/tags/
  75. ## @param image.registry [default: REGISTRY_NAME] ClickHouse image registry
  76. ## @param image.repository [default: REPOSITORY_NAME/clickhouse] ClickHouse image repository
  77. ## @skip image.tag ClickHouse image tag (immutable tags are recommended)
  78. ## @param image.digest ClickHouse image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
  79. ## @param image.pullPolicy ClickHouse image pull policy
  80. ## @param image.pullSecrets ClickHouse image pull secrets
  81. ## @param image.debug Enable ClickHouse image debug mode
  82. ##
  83. image:
  84. registry: reg.cestong.com.cn
  85. repository: bitnami/clickhouse
  86. tag: 24.10.1-debian-12-r0
  87. digest: ""
  88. ## Specify a imagePullPolicy
  89. ## ref: http://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
  90. ##
  91. pullPolicy: IfNotPresent
  92. ## Optionally specify an array of imagePullSecrets.
  93. ## Secrets must be manually created in the namespace.
  94. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  95. ## e.g:
  96. ## pullSecrets:
  97. ## - myRegistryKeySecretName
  98. ##
  99. pullSecrets: []
  100. ## Enable debug mode
  101. ##
  102. debug: false
  103. ## @param clusterName ClickHouse cluster name
  104. ##
  105. clusterName: default
  106. ## @param shards Number of ClickHouse shards to deploy
  107. ##
  108. shards: 6
  109. ## @param replicaCount Number of ClickHouse replicas per shard to deploy
  110. ## if keeper enable, same as keeper count, keeper cluster by shards.
  111. ##
  112. replicaCount: 1
  113. ## @param distributeReplicasByZone Schedules replicas of the same shard to different availability zones
  114. ##
  115. distributeReplicasByZone: false
  116. ## @param containerPorts.http ClickHouse HTTP container port
  117. ## @param containerPorts.https ClickHouse HTTPS container port
  118. ## @param containerPorts.tcp ClickHouse TCP container port
  119. ## @param containerPorts.tcpSecure ClickHouse TCP (secure) container port
  120. ## @param containerPorts.keeper ClickHouse keeper TCP container port
  121. ## @param containerPorts.keeperSecure ClickHouse keeper TCP (secure) container port
  122. ## @param containerPorts.keeperInter ClickHouse keeper interserver TCP container port
  123. ## @param containerPorts.mysql ClickHouse MySQL container port
  124. ## @param containerPorts.postgresql ClickHouse PostgreSQL container port
  125. ## @param containerPorts.interserver ClickHouse Interserver container port
  126. ## @param containerPorts.metrics ClickHouse metrics container port
  127. ##
  128. containerPorts:
  129. http: 8123
  130. https: 8443
  131. tcp: 9000
  132. tcpSecure: 9440
  133. keeper: 2181
  134. keeperSecure: 3181
  135. keeperInter: 9444
  136. mysql: 9004
  137. postgresql: 9005
  138. interserver: 9009
  139. metrics: 8001
  140. ## Configure extra options for ClickHouse containers' liveness and readiness probes
  141. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
  142. ## @param livenessProbe.enabled Enable livenessProbe on ClickHouse containers
  143. ## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
  144. ## @param livenessProbe.periodSeconds Period seconds for livenessProbe
  145. ## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
  146. ## @param livenessProbe.failureThreshold Failure threshold for livenessProbe
  147. ## @param livenessProbe.successThreshold Success threshold for livenessProbe
  148. ##
  149. livenessProbe:
  150. enabled: true
  151. failureThreshold: 10
  152. initialDelaySeconds: 10
  153. periodSeconds: 10
  154. successThreshold: 1
  155. timeoutSeconds: 1
  156. ## @param readinessProbe.enabled Enable readinessProbe on ClickHouse containers
  157. ## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
  158. ## @param readinessProbe.periodSeconds Period seconds for readinessProbe
  159. ## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
  160. ## @param readinessProbe.failureThreshold Failure threshold for readinessProbe
  161. ## @param readinessProbe.successThreshold Success threshold for readinessProbe
  162. ##
  163. readinessProbe:
  164. enabled: true
  165. failureThreshold: 10
  166. initialDelaySeconds: 10
  167. periodSeconds: 10
  168. successThreshold: 1
  169. timeoutSeconds: 1
  170. ## @param startupProbe.enabled Enable startupProbe on ClickHouse containers
  171. ## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
  172. ## @param startupProbe.periodSeconds Period seconds for startupProbe
  173. ## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
  174. ## @param startupProbe.failureThreshold Failure threshold for startupProbe
  175. ## @param startupProbe.successThreshold Success threshold for startupProbe
  176. ##
  177. startupProbe:
  178. enabled: false
  179. failureThreshold: 10
  180. initialDelaySeconds: 10
  181. periodSeconds: 10
  182. successThreshold: 1
  183. timeoutSeconds: 1
  184. ## @param customLivenessProbe Custom livenessProbe that overrides the default one
  185. ##
  186. customLivenessProbe: {}
  187. ## @param customReadinessProbe Custom readinessProbe that overrides the default one
  188. ##
  189. customReadinessProbe: {}
  190. ## @param customStartupProbe Custom startupProbe that overrides the default one
  191. ##
  192. customStartupProbe: {}
  193. ## ClickHouse resource requests and limits
  194. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  195. ## @param resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
  196. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  197. ##
  198. resourcesPreset: "none"
  199. ## @param resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  200. ## Example:
  201. ## resources:
  202. ## requests:
  203. ## cpu: 2
  204. ## memory: 512Mi
  205. ## limits:
  206. ## cpu: 3
  207. ## memory: 1024Mi
  208. ##
  209. resources:
  210. requests:
  211. cpu: 2
  212. memory: 4Gi
  213. limits:
  214. cpu: 4
  215. memory: 8Gi
  216. ## Configure Pods Security Context
  217. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
  218. ## @param podSecurityContext.enabled Enabled ClickHouse pods' Security Context
  219. ## @param podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
  220. ## @param podSecurityContext.sysctls Set kernel settings using the sysctl interface
  221. ## @param podSecurityContext.supplementalGroups Set filesystem extra groups
  222. ## @param podSecurityContext.fsGroup Set ClickHouse pod's Security Context fsGroup
  223. ## If you are using Kubernetes 1.18, the following code needs to be commented out.
  224. ##
  225. podSecurityContext:
  226. enabled: true
  227. fsGroupChangePolicy: Always
  228. sysctls: []
  229. supplementalGroups: []
  230. fsGroup: 1001
  231. ## Configure Container Security Context
  232. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  233. ## @param containerSecurityContext.enabled Enable containers' Security Context
  234. ## @param containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
  235. ## @param containerSecurityContext.runAsUser Set containers' Security Context runAsUser
  236. ## @param containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
  237. ## @param containerSecurityContext.runAsNonRoot Set containers' Security Context runAsNonRoot
  238. ## @param containerSecurityContext.readOnlyRootFilesystem Set read only root file system pod's
  239. ## @param containerSecurityContext.privileged Set contraller container's Security Context privileged
  240. ## @param containerSecurityContext.allowPrivilegeEscalation Set contraller container's Security Context allowPrivilegeEscalation
  241. ## @param containerSecurityContext.capabilities.drop List of capabilities to be droppedn
  242. ## @param containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
  243. ##
  244. containerSecurityContext:
  245. enabled: true
  246. seLinuxOptions: {}
  247. runAsUser: 1001
  248. runAsGroup: 1001
  249. runAsNonRoot: true
  250. privileged: false
  251. allowPrivilegeEscalation: false
  252. readOnlyRootFilesystem: true
  253. capabilities:
  254. drop: ["ALL"]
  255. add:
  256. - SYS_NICE
  257. seccompProfile:
  258. type: "RuntimeDefault"
  259. ## Authentication
  260. ## @param auth.username ClickHouse Admin username
  261. ## @param auth.password ClickHouse Admin password
  262. ## @param auth.existingSecret Name of a secret containing the Admin password
  263. ## @param auth.existingSecretKey Name of the key inside the existing secret
  264. ##
  265. auth:
  266. username: default
  267. password: "cecf@cestong.com"
  268. existingSecret: ""
  269. existingSecretKey: ""
  270. ## @param logLevel Logging level
  271. ##
  272. logLevel: information
  273. ## @section ClickHouse keeper configuration parameters
  274. ## @param keeper.enabled Deploy ClickHouse keeper. Support is experimental.
  275. ##
  276. keeper:
  277. enabled: true
  278. ## @param defaultConfigurationOverrides [string] Default configuration overrides (evaluated as a template)
  279. ##
  280. defaultConfigurationOverrides: |
  281. <clickhouse>
  282. <storage_configuration>
  283. <disks>
  284. <backups>
  285. <type>local</type>
  286. <path>/bitnami/clickhouse/data/tmp/</path>
  287. </backups>
  288. </disks>
  289. </storage_configuration>
  290. <backups>
  291. <allowed_disk>backups</allowed_disk>
  292. <allowed_path>/tmp/</allowed_path>
  293. </backups>
  294. <!-- Macros -->
  295. <profiles>
  296. <default>
  297. <opentelemetry_start_trace_probability>1</opentelemetry_start_trace_probability>
  298. </default>
  299. </profiles>
  300. <macros>
  301. <shard from_env="CLICKHOUSE_SHARD_ID"></shard>
  302. <replica from_env="CLICKHOUSE_REPLICA_ID"></replica>
  303. <layer>{{ include "common.names.fullname" . }}</layer>
  304. </macros>
  305. <!-- Log Level -->
  306. <logger>
  307. <level>{{ .Values.logLevel }}</level>
  308. </logger>
  309. {{- if or (ne (int .Values.shards) 1) (ne (int .Values.replicaCount) 1)}}
  310. <!-- Cluster configuration - Any update of the shards and replicas requires helm upgrade -->
  311. <remote_servers>
  312. <{{ .Values.clusterName }}>
  313. {{- $shards := $.Values.shards | int }}
  314. {{- range $shard, $e := until $shards }}
  315. <shard>
  316. {{- $replicas := $.Values.replicaCount | int }}
  317. {{- range $i, $_e := until $replicas }}
  318. <replica>
  319. <host>{{ printf "%s-shard%d-%d.%s.%s.svc.%s" (include "common.names.fullname" $ ) $shard $i (include "clickhouse.headlessServiceName" $) (include "common.names.namespace" $) $.Values.clusterDomain }}</host>
  320. <port>{{ $.Values.service.ports.tcp }}</port>
  321. <user from_env="CLICKHOUSE_ADMIN_USER"></user>
  322. <password from_env="CLICKHOUSE_ADMIN_PASSWORD"></password>
  323. </replica>
  324. {{- end }}
  325. </shard>
  326. {{- end }}
  327. </{{ .Values.clusterName }}>
  328. </remote_servers>
  329. {{- end }}
  330. {{- if .Values.keeper.enabled }}
  331. <!-- keeper configuration -->
  332. <keeper_server>
  333. {{/*ClickHouse keeper configuration using the helm chart */}}
  334. <tcp_port>{{ $.Values.containerPorts.keeper }}</tcp_port>
  335. {{- if .Values.tls.enabled }}
  336. <tcp_port_secure>{{ $.Values.containerPorts.keeperSecure }}</tcp_port_secure>
  337. {{- end }}
  338. <server_id from_env="KEEPER_SERVER_ID"></server_id>
  339. <log_storage_path>/bitnami/clickhouse/keeper/coordination/log</log_storage_path>
  340. <snapshot_storage_path>/bitnami/clickhouse/keeper/coordination/snapshots</snapshot_storage_path>
  341. <coordination_settings>
  342. <operation_timeout_ms>10000</operation_timeout_ms>
  343. <session_timeout_ms>30000</session_timeout_ms>
  344. <raft_logs_level>trace</raft_logs_level>
  345. </coordination_settings>
  346. <raft_configuration>
  347. {{- $nodes := .Values.replicaCount | int }}
  348. {{- range $node, $e := until $nodes }}
  349. <server>
  350. <id>{{ $node | int }}</id>
  351. <hostname from_env="{{ printf "KEEPER_NODE_%d" $node }}"></hostname>
  352. <port>{{ $.Values.service.ports.keeperInter }}</port>
  353. </server>
  354. {{- end }}
  355. </raft_configuration>
  356. </keeper_server>
  357. {{- end }}
  358. {{- if or .Values.keeper.enabled .Values.zookeeper.enabled .Values.externalZookeeper.servers }}
  359. <!-- Zookeeper configuration -->
  360. <zookeeper>
  361. {{- if or .Values.keeper.enabled }}
  362. {{- $nodes := .Values.replicaCount | int }}
  363. {{- range $node, $e := until $nodes }}
  364. <node>
  365. <host from_env="{{ printf "KEEPER_NODE_%d" $node }}"></host>
  366. <port>{{ $.Values.service.ports.keeper }}</port>
  367. </node>
  368. {{- end }}
  369. {{- else if .Values.zookeeper.enabled }}
  370. {{/* Zookeeper configuration using the helm chart */}}
  371. {{- $nodes := .Values.zookeeper.replicaCount | int }}
  372. {{- range $node, $e := until $nodes }}
  373. <node>
  374. <host from_env="{{ printf "KEEPER_NODE_%d" $node }}"></host>
  375. <port>{{ $.Values.zookeeper.service.ports.client }}</port>
  376. </node>
  377. {{- end }}
  378. {{- else if .Values.externalZookeeper.servers }}
  379. {{/* Zookeeper configuration using an external instance */}}
  380. {{- range $node :=.Values.externalZookeeper.servers }}
  381. <node>
  382. <host>{{ $node }}</host>
  383. <port>{{ $.Values.externalZookeeper.port }}</port>
  384. </node>
  385. {{- end }}
  386. {{- end }}
  387. </zookeeper>
  388. {{- end }}
  389. {{- if .Values.tls.enabled }}
  390. <!-- TLS configuration -->
  391. <tcp_port_secure from_env="CLICKHOUSE_TCP_SECURE_PORT"></tcp_port_secure>
  392. <https_port from_env="CLICKHOUSE_HTTPS_PORT"></https_port>
  393. <openSSL>
  394. <server>
  395. {{- $certFileName := default "tls.crt" .Values.tls.certFilename }}
  396. {{- $keyFileName := default "tls.key" .Values.tls.certKeyFilename }}
  397. <certificateFile>/bitnami/clickhouse/certs/{{$certFileName}}</certificateFile>
  398. <privateKeyFile>/bitnami/clickhouse/certs/{{$keyFileName}}</privateKeyFile>
  399. <verificationMode>none</verificationMode>
  400. <cacheSessions>true</cacheSessions>
  401. <disableProtocols>sslv2,sslv3</disableProtocols>
  402. <preferServerCiphers>true</preferServerCiphers>
  403. {{- if or .Values.tls.autoGenerated .Values.tls.certCAFilename }}
  404. {{- $caFileName := default "ca.crt" .Values.tls.certCAFilename }}
  405. <caConfig>/bitnami/clickhouse/certs/{{$caFileName}}</caConfig>
  406. {{- else }}
  407. <loadDefaultCAFile>true</loadDefaultCAFile>
  408. {{- end }}
  409. </server>
  410. <client>
  411. <loadDefaultCAFile>true</loadDefaultCAFile>
  412. <cacheSessions>true</cacheSessions>
  413. <disableProtocols>sslv2,sslv3</disableProtocols>
  414. <preferServerCiphers>true</preferServerCiphers>
  415. <verificationMode>none</verificationMode>
  416. <invalidCertificateHandler>
  417. <name>AcceptCertificateHandler</name>
  418. </invalidCertificateHandler>
  419. </client>
  420. </openSSL>
  421. {{- end }}
  422. {{- if .Values.metrics.enabled }}
  423. <!-- Prometheus metrics -->
  424. <prometheus>
  425. <endpoint>/metrics</endpoint>
  426. <port from_env="CLICKHOUSE_METRICS_PORT"></port>
  427. <metrics>true</metrics>
  428. <events>true</events>
  429. <asynchronous_metrics>true</asynchronous_metrics>
  430. </prometheus>
  431. {{- end }}
  432. </clickhouse>
  433. ## @param existingOverridesConfigmap The name of an existing ConfigMap with your custom configuration for ClickHouse
  434. ##
  435. existingOverridesConfigmap: ""
  436. ## @param extraOverrides Extra configuration overrides (evaluated as a template) apart from the default
  437. ##
  438. extraOverrides: ""
  439. ## @param extraOverridesConfigmap The name of an existing ConfigMap with extra configuration for ClickHouse
  440. ##
  441. extraOverridesConfigmap: ""
  442. ## @param extraOverridesSecret The name of an existing ConfigMap with your custom configuration for ClickHouse
  443. ##
  444. extraOverridesSecret: ""
  445. ## @param usersExtraOverrides Users extra configuration overrides (evaluated as a template) apart from the default
  446. ##
  447. usersExtraOverrides: ""
  448. ## @param usersExtraOverridesConfigmap The name of an existing ConfigMap with users extra configuration for ClickHouse
  449. ##
  450. usersExtraOverridesConfigmap: ""
  451. ## @param usersExtraOverridesSecret The name of an existing ConfigMap with your custom users configuration for ClickHouse
  452. ##
  453. usersExtraOverridesSecret: ""
  454. ## @param initdbScripts Dictionary of initdb scripts
  455. ## Specify dictionary of scripts to be run at first boot
  456. ## Example:
  457. ## initdbScripts:
  458. ## my_init_script.sh: |
  459. ## #!/bin/bash
  460. ## echo "Do something."
  461. ##
  462. initdbScripts: {}
  463. ## @param initdbScriptsSecret ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)
  464. ##
  465. initdbScriptsSecret: ""
  466. ## @param startdbScripts Dictionary of startdb scripts
  467. ## Specify dictionary of scripts to be run on every start
  468. ## Example:
  469. ## startdbScripts:
  470. ## my_start_script.sh: |
  471. ## #!/bin/bash
  472. ## echo "Do something."
  473. ##
  474. startdbScripts: {}
  475. ## @param startdbScriptsSecret ConfigMap with the startdb scripts (Note: Overrides `startdbScripts`)
  476. ##
  477. startdbScriptsSecret: ""
  478. ## @param command Override default container command (useful when using custom images)
  479. ##
  480. command:
  481. - /scripts/setup.sh
  482. ## @param args Override default container args (useful when using custom images)
  483. ##
  484. args: []
  485. ## @param automountServiceAccountToken Mount Service Account token in pod
  486. ##
  487. automountServiceAccountToken: false
  488. ## @param hostAliases ClickHouse pods host aliases
  489. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  490. ##
  491. hostAliases: []
  492. ## @param podLabels Extra labels for ClickHouse pods
  493. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  494. ##
  495. podLabels: {}
  496. ## @param podAnnotations Annotations for ClickHouse pods
  497. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  498. ##
  499. podAnnotations: {}
  500. ## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  501. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  502. ##
  503. podAffinityPreset: ""
  504. ## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  505. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  506. ##
  507. podAntiAffinityPreset: soft
  508. ## Node affinity preset
  509. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  510. ##
  511. nodeAffinityPreset:
  512. ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
  513. ##
  514. type: ""
  515. ## @param nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set
  516. ##
  517. key: ""
  518. ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set
  519. ## E.g.
  520. ## values:
  521. ## - e2e-az1
  522. ## - e2e-az2
  523. ##
  524. values: []
  525. ## @param affinity Affinity for ClickHouse pods assignment
  526. ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  527. ## NOTE: `podAffinityPreset`, `podAntiAffinityPreset`, and `nodeAffinityPreset` will be ignored when it's set
  528. ##
  529. affinity: {}
  530. ## @param nodeSelector Node labels for ClickHouse pods assignment
  531. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
  532. ##
  533. nodeSelector: {}
  534. ## @param tolerations Tolerations for ClickHouse pods assignment
  535. ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  536. ##
  537. tolerations: []
  538. ## @param updateStrategy.type ClickHouse statefulset strategy type
  539. ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
  540. ##
  541. updateStrategy:
  542. ## StrategyType
  543. ## Can be set to RollingUpdate or OnDelete
  544. ##
  545. type: RollingUpdate
  546. ## @param podManagementPolicy Statefulset Pod management policy, it needs to be Parallel to be able to complete the cluster join
  547. ## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
  548. ##
  549. podManagementPolicy: Parallel
  550. ## @param priorityClassName ClickHouse pods' priorityClassName
  551. ##
  552. priorityClassName: ""
  553. ## @param topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template
  554. ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
  555. ##
  556. topologySpreadConstraints: []
  557. ## @param schedulerName Name of the k8s scheduler (other than default) for ClickHouse pods
  558. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  559. ##
  560. schedulerName: ""
  561. ## @param terminationGracePeriodSeconds Seconds Redmine pod needs to terminate gracefully
  562. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
  563. ##
  564. terminationGracePeriodSeconds: ""
  565. ## @param lifecycleHooks for the ClickHouse container(s) to automate configuration before or after startup
  566. ##
  567. lifecycleHooks: {}
  568. ## @param extraEnvVars Array with extra environment variables to add to ClickHouse nodes
  569. ## e.g:
  570. ## extraEnvVars:
  571. ## - name: FOO
  572. ## value: "bar"
  573. ##
  574. extraEnvVars: []
  575. ## @param extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ClickHouse nodes
  576. ##
  577. extraEnvVarsCM: ""
  578. ## @param extraEnvVarsSecret Name of existing Secret containing extra env vars for ClickHouse nodes
  579. ##
  580. extraEnvVarsSecret: ""
  581. ## @param extraVolumes Optionally specify extra list of additional volumes for the ClickHouse pod(s)
  582. ##
  583. extraVolumes: []
  584. ## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ClickHouse container(s)
  585. ##
  586. extraVolumeMounts: []
  587. ## @param extraVolumeClaimTemplates Optionally specify extra list of additional volumeClaimTemplates for the ClickHouse container(s)
  588. ##
  589. extraVolumeClaimTemplates: []
  590. ## @param sidecars Add additional sidecar containers to the ClickHouse pod(s)
  591. ## e.g:
  592. ## sidecars:
  593. ## - name: your-image-name
  594. ## image: your-image
  595. ## imagePullPolicy: Always
  596. ## ports:
  597. ## - name: portname
  598. ## containerPort: 1234
  599. ##
  600. sidecars: []
  601. ## @param initContainers Add additional init containers to the ClickHouse pod(s)
  602. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
  603. ## e.g:
  604. ## initContainers:
  605. ## - name: your-image-name
  606. ## image: your-image
  607. ## imagePullPolicy: Always
  608. ## command: ['sh', '-c', 'echo "hello world"']
  609. ##
  610. initContainers: []
  611. ## Pod Disruption Budget configuration
  612. ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
  613. ## @param pdb.create Enable/disable a Pod Disruption Budget creation
  614. ## @param pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
  615. ## @param pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `pdb.minAvailable` and `pdb.maxUnavailable` are empty.
  616. ##
  617. pdb:
  618. create: true
  619. minAvailable: ""
  620. maxUnavailable: ""
  621. ## TLS configuration
  622. ##
  623. tls:
  624. ## @param tls.enabled Enable TLS traffic support
  625. ##
  626. enabled: false
  627. ## @param tls.autoGenerated Generate automatically self-signed TLS certificates
  628. ##
  629. autoGenerated: false
  630. ## @param tls.certificatesSecret Name of an existing secret that contains the certificates
  631. ##
  632. certificatesSecret: ""
  633. ## @param tls.certFilename Certificate filename
  634. ##
  635. certFilename: ""
  636. ## @param tls.certKeyFilename Certificate key filename
  637. ##
  638. certKeyFilename: ""
  639. ## @param tls.certCAFilename CA Certificate filename
  640. ## If provided, PostgreSQL will authenticate TLS/SSL clients by requesting them a certificate
  641. ## ref: https://www.postgresql.org/docs/9.6/auth-methods.html
  642. ##
  643. certCAFilename: ""
  644. ## @section Traffic Exposure Parameters
  645. ##
  646. ## ClickHouse service parameters
  647. ##
  648. service:
  649. ## @param service.type ClickHouse service type
  650. ##
  651. type: NodePort
  652. ## @param service.ports.http ClickHouse service HTTP port
  653. ## @param service.ports.https ClickHouse service HTTPS port
  654. ## @param service.ports.tcp ClickHouse service TCP port
  655. ## @param service.ports.tcpSecure ClickHouse service TCP (secure) port
  656. ## @param service.ports.keeper ClickHouse keeper TCP container port
  657. ## @param service.ports.keeperSecure ClickHouse keeper TCP (secure) container port
  658. ## @param service.ports.keeperInter ClickHouse keeper interserver TCP container port
  659. ## @param service.ports.mysql ClickHouse service MySQL port
  660. ## @param service.ports.postgresql ClickHouse service PostgreSQL port
  661. ## @param service.ports.interserver ClickHouse service Interserver port
  662. ## @param service.ports.metrics ClickHouse service metrics port
  663. ##
  664. ports:
  665. http: 8123
  666. https: 443
  667. tcp: 9000
  668. tcpSecure: 9440
  669. keeper: 2181
  670. keeperSecure: 3181
  671. keeperInter: 9444
  672. mysql: 9004
  673. postgresql: 9005
  674. interserver: 9009
  675. metrics: 8001
  676. ## Node ports to expose
  677. ## @param service.nodePorts.http Node port for HTTP
  678. ## @param service.nodePorts.https Node port for HTTPS
  679. ## @param service.nodePorts.tcp Node port for TCP
  680. ## @param service.nodePorts.tcpSecure Node port for TCP (with TLS)
  681. ## @param service.nodePorts.keeper ClickHouse keeper TCP container port
  682. ## @param service.nodePorts.keeperSecure ClickHouse keeper TCP (secure) container port
  683. ## @param service.nodePorts.keeperInter ClickHouse keeper interserver TCP container port
  684. ## @param service.nodePorts.mysql Node port for MySQL
  685. ## @param service.nodePorts.postgresql Node port for PostgreSQL
  686. ## @param service.nodePorts.interserver Node port for Interserver
  687. ## @param service.nodePorts.metrics Node port for metrics
  688. ## NOTE: choose port between <30000-32767>
  689. ##
  690. nodePorts:
  691. http: "31268"
  692. https: ""
  693. tcp: "31269"
  694. tcpSecure: ""
  695. keeper: ""
  696. keeperSecure: ""
  697. keeperInter: ""
  698. mysql: ""
  699. postgresql: ""
  700. interserver: ""
  701. metrics: ""
  702. ## @param service.clusterIP ClickHouse service Cluster IP
  703. ## e.g.:
  704. ## clusterIP: None
  705. ##
  706. clusterIP: ""
  707. ## @param service.loadBalancerIP ClickHouse service Load Balancer IP
  708. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
  709. ##
  710. loadBalancerIP: ""
  711. ## @param service.loadBalancerSourceRanges ClickHouse service Load Balancer sources
  712. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  713. ## e.g:
  714. ## loadBalancerSourceRanges:
  715. ## - 10.10.10.0/24
  716. ##
  717. loadBalancerSourceRanges: []
  718. ## @param service.externalTrafficPolicy ClickHouse service external traffic policy
  719. ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
  720. ##
  721. externalTrafficPolicy: Cluster
  722. ## @param service.annotations Additional custom annotations for ClickHouse service
  723. ##
  724. annotations: {}
  725. ## @param service.extraPorts Extra ports to expose in ClickHouse service (normally used with the `sidecars` value)
  726. ##
  727. extraPorts: []
  728. ## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
  729. ## Values: ClientIP or None
  730. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
  731. ##
  732. sessionAffinity: None
  733. ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
  734. ## sessionAffinityConfig:
  735. ## clientIP:
  736. ## timeoutSeconds: 300
  737. ##
  738. sessionAffinityConfig: {}
  739. ## Headless service properties
  740. ##
  741. headless:
  742. ## @param service.headless.annotations Annotations for the headless service.
  743. ##
  744. annotations: {}
  745. ## External Access to ClickHouse configuration
  746. ##
  747. externalAccess:
  748. ## @param externalAccess.enabled Enable Kubernetes external cluster access to ClickHouse
  749. ##
  750. enabled: false
  751. ## Parameters to configure K8s service(s) used to externally access ClickHouse
  752. ## Note: A new service per will be created
  753. ##
  754. service:
  755. ## @param externalAccess.service.type Kubernetes Service type for external access. It can be NodePort, LoadBalancer or ClusterIP
  756. ##
  757. type: LoadBalancer
  758. ## @param externalAccess.service.ports.http ClickHouse service HTTP port
  759. ## @param externalAccess.service.ports.https ClickHouse service HTTPS port
  760. ## @param externalAccess.service.ports.tcp ClickHouse service TCP port
  761. ## @param externalAccess.service.ports.tcpSecure ClickHouse service TCP (secure) port
  762. ## @param externalAccess.service.ports.keeper ClickHouse keeper TCP container port
  763. ## @param externalAccess.service.ports.keeperSecure ClickHouse keeper TCP (secure) container port
  764. ## @param externalAccess.service.ports.keeperInter ClickHouse keeper interserver TCP container port
  765. ## @param externalAccess.service.ports.mysql ClickHouse service MySQL port
  766. ## @param externalAccess.service.ports.postgresql ClickHouse service PostgreSQL port
  767. ## @param externalAccess.service.ports.interserver ClickHouse service Interserver port
  768. ## @param externalAccess.service.ports.metrics ClickHouse service metrics port
  769. ##
  770. ports:
  771. http: 80
  772. https: 443
  773. tcp: 9000
  774. tcpSecure: 9440
  775. keeper: 2181
  776. keeperSecure: 3181
  777. keeperInter: 9444
  778. mysql: 9004
  779. postgresql: 9005
  780. interserver: 9009
  781. metrics: 8001
  782. ## @param externalAccess.service.loadBalancerIPs Array of load balancer IPs for each ClickHouse . Length must be the same as replicaCount
  783. ## e.g:
  784. ## loadBalancerIPs:
  785. ## - X.X.X.X
  786. ## - Y.Y.Y.Y
  787. ##
  788. loadBalancerIPs: []
  789. ## @param externalAccess.service.loadBalancerAnnotations Array of load balancer annotations for each ClickHouse . Length must be the same as shards multiplied by replicaCount
  790. ## e.g:
  791. ## loadBalancerAnnotations:
  792. ## - external-dns.alpha.kubernetes.io/hostname: 1.external.example.com.
  793. ## - external-dns.alpha.kubernetes.io/hostname: 2.external.example.com.
  794. ##
  795. loadBalancerAnnotations: []
  796. ## @param externalAccess.service.loadBalancerSourceRanges Address(es) that are allowed when service is LoadBalancer
  797. ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
  798. ## e.g:
  799. ## loadBalancerSourceRanges:
  800. ## - 10.10.10.0/24
  801. ##
  802. loadBalancerSourceRanges: []
  803. ## @param externalAccess.service.nodePorts.http Node port for HTTP
  804. ## @param externalAccess.service.nodePorts.https Node port for HTTPS
  805. ## @param externalAccess.service.nodePorts.tcp Node port for TCP
  806. ## @param externalAccess.service.nodePorts.tcpSecure Node port for TCP (with TLS)
  807. ## @param externalAccess.service.nodePorts.keeper ClickHouse keeper TCP container port
  808. ## @param externalAccess.service.nodePorts.keeperSecure ClickHouse keeper TCP container port (with TLS)
  809. ## @param externalAccess.service.nodePorts.keeperInter ClickHouse keeper interserver TCP container port
  810. ## @param externalAccess.service.nodePorts.mysql Node port for MySQL
  811. ## @param externalAccess.service.nodePorts.postgresql Node port for PostgreSQL
  812. ## @param externalAccess.service.nodePorts.interserver Node port for Interserver
  813. ## @param externalAccess.service.nodePorts.metrics Node port for metrics
  814. ## NOTE: choose port between <30000-32767>
  815. ## e.g:
  816. ## nodePorts:
  817. ## tls:
  818. ## - 30001
  819. ## - 30002
  820. ##
  821. nodePorts:
  822. http: []
  823. https: []
  824. tcp: []
  825. tcpSecure: []
  826. keeper: []
  827. keeperSecure: []
  828. keeperInter: []
  829. mysql: []
  830. postgresql: []
  831. interserver: []
  832. metrics: []
  833. ## @param externalAccess.service.labels Service labels for external access
  834. ##
  835. labels: {}
  836. ## @param externalAccess.service.annotations Service annotations for external access
  837. ##
  838. annotations: {}
  839. ## @param externalAccess.service.extraPorts Extra ports to expose in the ClickHouse external service
  840. ##
  841. extraPorts: []
  842. ## ClickHouse ingress parameters
  843. ## ref: http://kubernetes.io/docs/concepts/services-networking/ingress/
  844. ##
  845. ingress:
  846. ## @param ingress.enabled Enable ingress record generation for ClickHouse
  847. ##
  848. enabled: true
  849. ## @param ingress.pathType Ingress path type
  850. ##
  851. pathType: ImplementationSpecific
  852. ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
  853. ##
  854. apiVersion: ""
  855. ## @param ingress.hostname Default host for the ingress record
  856. ##
  857. hostname: clickhouse.cestong.com.cn
  858. ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
  859. ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
  860. ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
  861. ##
  862. ingressClassName: "nginx"
  863. ## @param ingress.path Default path for the ingress record
  864. ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
  865. ##
  866. path: /
  867. ## @param ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
  868. ## Use this parameter to set the required annotations for cert-manager, see
  869. ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
  870. ## e.g:
  871. ## annotations:
  872. ## kubernetes.io/ingress.class: nginx
  873. ## cert-manager.io/cluster-issuer: cluster-issuer-name
  874. ##
  875. annotations: {}
  876. ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
  877. ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
  878. ## You can:
  879. ## - Use the `ingress.secrets` parameter to create this TLS secret
  880. ## - Rely on cert-manager to create it by setting the corresponding annotations
  881. ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
  882. ##
  883. tls: false
  884. ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
  885. ##
  886. selfSigned: false
  887. ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
  888. ## e.g:
  889. ## extraHosts:
  890. ## - name: clickhouse.local
  891. ## path: /
  892. ##
  893. extraHosts: []
  894. ## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
  895. ## e.g:
  896. ## extraPaths:
  897. ## - path: /*
  898. ## backend:
  899. ## serviceName: ssl-redirect
  900. ## servicePort: use-annotation
  901. ##
  902. extraPaths: []
  903. ## @param ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
  904. ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
  905. ## e.g:
  906. ## extraTls:
  907. ## - hosts:
  908. ## - clickhouse.local
  909. ## secretName: clickhouse.local-tls
  910. ##
  911. extraTls: []
  912. ## @param ingress.secrets Custom TLS certificates as secrets
  913. ## NOTE: 'key' and 'certificate' are expected in PEM format
  914. ## NOTE: 'name' should line up with a 'secretName' set further up
  915. ## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
  916. ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
  917. ## It is also possible to create and manage the certificates outside of this helm chart
  918. ## Please see README.md for more information
  919. ## e.g:
  920. ## secrets:
  921. ## - name: clickhouse.local-tls
  922. ## key: |-
  923. ## -----BEGIN RSA PRIVATE KEY-----
  924. ## ...
  925. ## -----END RSA PRIVATE KEY-----
  926. ## certificate: |-
  927. ## -----BEGIN CERTIFICATE-----
  928. ## ...
  929. ## -----END CERTIFICATE-----
  930. ##
  931. secrets: []
  932. ## @param ingress.extraRules Additional rules to be covered with this ingress record
  933. ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
  934. ## e.g:
  935. ## extraRules:
  936. ## - host: example.local
  937. ## http:
  938. ## path: /
  939. ## backend:
  940. ## service:
  941. ## name: example-svc
  942. ## port:
  943. ## name: http
  944. ##
  945. extraRules: []
  946. ## @section Persistence Parameters
  947. ##
  948. ## Enable persistence using Persistent Volume Claims
  949. ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
  950. ##
  951. persistence:
  952. ## @param persistence.enabled Enable persistence using Persistent Volume Claims
  953. ##
  954. enabled: true
  955. ## @param persistence.existingClaim Name of an existing PVC to use
  956. ##
  957. existingClaim: ""
  958. ## @param persistence.storageClass Storage class of backing PVC
  959. ## If defined, storageClassName: <storageClass>
  960. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  961. ## If undefined (the default) or set to null, no storageClassName spec is
  962. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  963. ## GKE, AWS & OpenStack)
  964. ##
  965. storageClass: ""
  966. ## @param persistence.labels Persistent Volume Claim labels
  967. ##
  968. labels: {}
  969. ## @param persistence.annotations Persistent Volume Claim annotations
  970. ##
  971. annotations: {}
  972. ## @param persistence.accessModes Persistent Volume Access Modes
  973. ##
  974. accessModes:
  975. - ReadWriteOnce
  976. ## @param persistence.size Size of data volume
  977. ##
  978. size: 8Gi
  979. ## @param persistence.selector Selector to match an existing Persistent Volume for ClickHouse data PVC
  980. ## If set, the PVC can't have a PV dynamically provisioned for it
  981. ## E.g.
  982. ## selector:
  983. ## matchLabels:
  984. ## app: my-app
  985. ##
  986. selector: {}
  987. ## @param persistence.dataSource Custom PVC data source
  988. ##
  989. dataSource: {}
  990. ## @section Init Container Parameters
  991. ##
  992. ## 'volumePermissions' init container parameters
  993. ## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
  994. ## based on the *podSecurityContext/*containerSecurityContext parameters
  995. ##
  996. volumePermissions:
  997. ## @param volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`
  998. ##
  999. enabled: true
  1000. ## OS Shell + Utility image
  1001. ## ref: https://hub.docker.com/r/bitnami/os-shell/tags/
  1002. ## @param volumePermissions.image.registry [default: REGISTRY_NAME] OS Shell + Utility image registry
  1003. ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] OS Shell + Utility image repository
  1004. ## @skip volumePermissions.image.tag OS Shell + Utility image tag (immutable tags are recommended)
  1005. ## @param volumePermissions.image.pullPolicy OS Shell + Utility image pull policy
  1006. ## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets
  1007. ##
  1008. image:
  1009. registry: reg.cestong.com.cn
  1010. repository: bitnami/os-shell
  1011. tag: 12-debian-12-r32
  1012. pullPolicy: IfNotPresent
  1013. ## Optionally specify an array of imagePullSecrets.
  1014. ## Secrets must be manually created in the namespace.
  1015. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  1016. ## e.g:
  1017. ## pullSecrets:
  1018. ## - myRegistryKeySecretName
  1019. ##
  1020. pullSecrets: []
  1021. ## Init container's resource requests and limits
  1022. ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  1023. ## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
  1024. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  1025. ##
  1026. resourcesPreset: "nano"
  1027. ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  1028. ## Example:
  1029. ## resources:
  1030. ## requests:
  1031. ## cpu: 2
  1032. ## memory: 512Mi
  1033. ## limits:
  1034. ## cpu: 3
  1035. ## memory: 1024Mi
  1036. ##
  1037. resources: {}
  1038. ## Init container Container Security Context
  1039. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
  1040. ## @param volumePermissions.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
  1041. ## @param volumePermissions.containerSecurityContext.runAsUser Set init container's Security Context runAsUser
  1042. ## NOTE: when runAsUser is set to special value "auto", init container will try to chown the
  1043. ## data folder to auto-determined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
  1044. ## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
  1045. ##
  1046. containerSecurityContext:
  1047. seLinuxOptions: {}
  1048. runAsUser: 0
  1049. ## @section Other Parameters
  1050. ##
  1051. ## ServiceAccount configuration
  1052. ##
  1053. serviceAccount:
  1054. ## @param serviceAccount.create Specifies whether a ServiceAccount should be created
  1055. ##
  1056. create: true
  1057. ## @param serviceAccount.name The name of the ServiceAccount to use.
  1058. ## If not set and create is true, a name is generated using the common.names.fullname template
  1059. ##
  1060. name: ""
  1061. ## @param serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
  1062. ##
  1063. annotations: {}
  1064. ## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account
  1065. ##
  1066. automountServiceAccountToken: false
  1067. ## Prometheus metrics
  1068. ##
  1069. metrics:
  1070. ## @param metrics.enabled Enable the export of Prometheus metrics
  1071. ##
  1072. enabled: true
  1073. ## @param metrics.podAnnotations [object] Annotations for metrics scraping
  1074. ##
  1075. podAnnotations:
  1076. prometheus.io/scrape: "true"
  1077. prometheus.io/port: "{{ .Values.containerPorts.metrics }}"
  1078. ## Prometheus Operator ServiceMonitor configuration
  1079. ##
  1080. serviceMonitor:
  1081. ## @param metrics.serviceMonitor.enabled if `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`)
  1082. ##
  1083. enabled: false
  1084. ## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running
  1085. ##
  1086. namespace: ""
  1087. ## @param metrics.serviceMonitor.annotations Additional custom annotations for the ServiceMonitor
  1088. ##
  1089. annotations: {}
  1090. ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
  1091. ##
  1092. labels: {}
  1093. ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in Prometheus
  1094. ##
  1095. jobLabel: ""
  1096. ## @param metrics.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
  1097. ##
  1098. honorLabels: false
  1099. ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
  1100. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  1101. ## e.g:
  1102. ## interval: 10s
  1103. ##
  1104. interval: ""
  1105. ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
  1106. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  1107. ## e.g:
  1108. ## scrapeTimeout: 10s
  1109. ##
  1110. scrapeTimeout: ""
  1111. ## @param metrics.serviceMonitor.metricRelabelings Specify additional relabeling of metrics
  1112. ##
  1113. metricRelabelings: []
  1114. ## @param metrics.serviceMonitor.relabelings Specify general relabeling
  1115. ##
  1116. relabelings: []
  1117. ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
  1118. ## ref: https://github.com/bitnami/charts/tree/main/bitnami/prometheus-operator#prometheus-configuration
  1119. ## selector:
  1120. ## prometheus: my-prometheus
  1121. ##
  1122. selector: {}
  1123. ## Prometheus Operator PrometheusRule configuration
  1124. ##
  1125. prometheusRule:
  1126. ## @param metrics.prometheusRule.enabled Create a PrometheusRule for Prometheus Operator
  1127. ##
  1128. enabled: false
  1129. ## @param metrics.prometheusRule.namespace Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
  1130. ##
  1131. namespace: ""
  1132. ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so PrometheusRule will be discovered by Prometheus
  1133. ##
  1134. additionalLabels: {}
  1135. ## @param metrics.prometheusRule.rules PrometheusRule definitions
  1136. ## - alert: ClickhouseServerRestart
  1137. ## annotations:
  1138. ## message: Clickhouse-server started recently
  1139. ## expr: ClickHouseAsyncMetrics_Uptime > 1 < 180
  1140. ## for: 5m
  1141. ## labels:
  1142. ## severity: warning
  1143. rules: []
  1144. ## @section External Zookeeper paramaters
  1145. ##
  1146. externalZookeeper:
  1147. ## @param externalZookeeper.servers List of external zookeeper servers to use
  1148. ## @param externalZookeeper.port Port of the Zookeeper servers
  1149. ##
  1150. servers: []
  1151. port: 2888
  1152. ## @section Zookeeper subchart parameters
  1153. ##
  1154. ## @param zookeeper.enabled Deploy Zookeeper subchart
  1155. ## @param zookeeper.replicaCount Number of Zookeeper instances
  1156. ## @param zookeeper.service.ports.client Zookeeper client port
  1157. ##
  1158. zookeeper:
  1159. enabled: false
  1160. ## Override zookeeper default image as 3.9 is not supported https://github.com/ClickHouse/ClickHouse/issues/53749
  1161. ## ref: https://github.com/bitnami/containers/tree/main/bitnami/zookeeper
  1162. ## @param zookeeper.image.registry [default: REGISTRY_NAME] Zookeeper image registry
  1163. ## @param zookeeper.image.repository [default: REPOSITORY_NAME/zookeeper] Zookeeper image repository
  1164. ## @skip zookeeper.image.tag Zookeeper image tag (immutable tags are recommended)
  1165. ## @param zookeeper.image.pullPolicy Zookeeper image pull policy
  1166. image:
  1167. registry: docker.io
  1168. repository: bitnami/zookeeper
  1169. tag: 3.8.4-debian-12-r15
  1170. pullPolicy: IfNotPresent
  1171. replicaCount: 3
  1172. service:
  1173. ports:
  1174. client: 2181
  1175. ## ZooKeeper resource requests and limits
  1176. ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
  1177. ## @param zookeeper.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
  1178. ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15
  1179. ##
  1180. resourcesPreset: "micro"
  1181. ## @param zookeeper.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
  1182. ## Example:
  1183. ## resources:
  1184. ## requests:
  1185. ## cpu: 2
  1186. ## memory: 512Mi
  1187. ## limits:
  1188. ## cpu: 3
  1189. ## memory: 1024Mi
  1190. ##
  1191. resources: {}
  1192. ## @section Network Policies
  1193. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  1194. ##
  1195. networkPolicy:
  1196. ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
  1197. ##
  1198. enabled: true
  1199. ## @param networkPolicy.allowExternal Don't require client label for connections
  1200. ## The Policy model to apply. When set to false, only pods with the correct
  1201. ## client label will have network access to the ports Clickhouse is listening
  1202. ## on. When true, Clickhouse will accept connections from any source
  1203. ## (with the correct destination port).
  1204. ##
  1205. allowExternal: true
  1206. ## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
  1207. ##
  1208. allowExternalEgress: true
  1209. ## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
  1210. ## e.g:
  1211. ## extraIngress:
  1212. ## - ports:
  1213. ## - port: 1234
  1214. ## from:
  1215. ## - podSelector:
  1216. ## - matchLabels:
  1217. ## - role: frontend
  1218. ## - podSelector:
  1219. ## - matchExpressions:
  1220. ## - key: role
  1221. ## operator: In
  1222. ## values:
  1223. ## - frontend
  1224. extraIngress: []
  1225. ## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
  1226. ## e.g:
  1227. ## extraEgress:
  1228. ## - ports:
  1229. ## - port: 1234
  1230. ## to:
  1231. ## - podSelector:
  1232. ## - matchLabels:
  1233. ## - role: frontend
  1234. ## - podSelector:
  1235. ## - matchExpressions:
  1236. ## - key: role
  1237. ## operator: In
  1238. ## values:
  1239. ## - frontend
  1240. ##
  1241. extraEgress: []
  1242. ## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces
  1243. ## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces
  1244. ##
  1245. ingressNSMatchLabels: {}
  1246. ingressNSPodMatchLabels: {}