blob: 9a27e605d8609688300861d9184e6eb420cf0e60 [file] [log] [blame]
a.sreekumarcf3133d2021-09-10 14:41:30 +01001# Copyright © 2018 Amdocs
2# Copyright © 2018,2021 Bell Canada
Krzysztof Opasiak01c975b2019-12-16 17:42:38 +01003# Copyright © 2019 Samsung Electronics
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +01004# Copyright © 2020 Bitnami, Orange
vaibhavjayasea9aee02018-08-31 06:22:26 +00005#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17
Andreas Geisslercfd84342023-08-16 17:18:49 +020018#################################################################
19# Global configuration defaults.
20#################################################################
21global:
22 nodePortPrefix: 302
23 persistence:
24 mountPath: /dockerdata-nfs
25 backup:
26 mountPath: /dockerdata-nfs/backup
27 clusterDomain: cluster.local
28 metrics: {}
29 mariadbGalera:
30 # flag to enable the DB creation via mariadb-operator
31 useOperator: true
32 # if useOperator set to "true", set "enableServiceAccount to "false"
33 # as the SA is created by the Operator
34 enableServiceAccount: false
35 nameOverride: mariadb-galera
36 service: mariadb-galera
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +010037
vitalied1e5876c2018-03-29 10:24:27 -050038#################################################################
Krzysztof Opasiak01c975b2019-12-16 17:42:38 +010039# Secrets metaconfig
40#################################################################
41secrets:
Krzysztof Opasiaka789c1a2020-01-22 00:06:32 +010042 - uid: '{{ include "common.mariadb.secret.rootPassUID" . }}'
Krzysztof Opasiak01c975b2019-12-16 17:42:38 +010043 type: password
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +010044 externalSecret: '{{ tpl (default "" .Values.rootUser.externalSecret) . }}'
45 password: '{{ .Values.rootUser.password }}'
Krzysztof Opasiaka789c1a2020-01-22 00:06:32 +010046 - uid: '{{ include "common.mariadb.secret.userCredentialsUID" . }}'
Krzysztof Opasiak01c975b2019-12-16 17:42:38 +010047 type: basicAuth
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +010048 externalSecret: '{{ tpl (default "" .Values.db.externalSecret) . }}'
49 login: '{{ .Values.db.user }}'
50 password: '{{ .Values.db.password }}'
51 - uid: '{{ include "common.mariadb.secret.backupCredentialsUID" . }}'
52 type: basicAuth
53 externalSecret: '{{ tpl (default "" .Values.galera.mariabackup.externalSecret) . }}'
54 login: '{{ .Values.galera.mariabackup.user }}'
55 password: '{{ .Values.galera.mariabackup.password }}'
Krzysztof Opasiak01c975b2019-12-16 17:42:38 +010056
Andreas Geisslercfd84342023-08-16 17:18:49 +020057mariadbOperator:
58 image: mariadb
59 appVersion: 11.1.2
Andreas Geissler7a24e5f2023-10-12 10:16:29 +020060 persistence:
61 #storageClassName: default
62 size: 3Gi
Andreas Geisslercfd84342023-08-16 17:18:49 +020063 galera:
64 enabled: true
65 agentImage: mariadb-operator/agent
Andreas Geissler7a24e5f2023-10-12 10:16:29 +020066 agentVersion: v0.0.3
Andreas Geisslercfd84342023-08-16 17:18:49 +020067 initImage: mariadb-operator/init
Andreas Geissler7a24e5f2023-10-12 10:16:29 +020068 initVersion: v0.0.6
Andreas Geisslercfd84342023-08-16 17:18:49 +020069
70## String to partially override common.names.fullname template (will maintain the release name)
71##
72nameOverride: mariadb-galera
73
74## Custom db configuration
75##
76db:
77 ## MariaDB username and password
78 ## Password is ignored if externalSecret is specified.
79 ## If not set, password will be "randomly" generated
80 ## ref: https://github.com/bitnami/bitnami-docker-mariadb-galera#creating-a-database-user-on-first-run
81 ##
82 user: my-user
83 # password:
84 # externalSecret:
85 ## Database to create
86 ## ref: https://github.com/bitnami/bitnami-docker-mariadb-galera#creating-a-database-on-first-run
87 ##
88 # name: my_database
89
90## Desired number of cluster nodes
91##
92replicaCount: 3
93
94## Additional pod annotations for MariaDB Galera pods
95## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
96## -> here required to enable mariadb-galera in istio
97##
98podAnnotations:
99 # sidecar.istio.io/inject: "false"
100 traffic.sidecar.istio.io/excludeInboundPorts: "4444,4567,4568"
101 traffic.sidecar.istio.io/includeInboundPorts: '*'
102 traffic.sidecar.istio.io/excludeOutboundPorts: "4444,4567,4568"
103
104mariadbOpConfiguration: |-
105 [mysqld]
106 max_allowed_packet=256M
107 lower_case_table_names = 1
108
109 ## Character set
110 collation_server=utf8_unicode_ci
111 init_connect='SET NAMES utf8'
112 character_set_server=utf8
113
114 ## MyISAM
115 key_buffer_size=32M
116 myisam_recover_options=FORCE,BACKUP
117
118 ## Safety
119 skip_host_cache
120 skip_name_resolve
121 max_allowed_packet=16M
122 max_connect_errors=1000000
123 sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY
124 sysdate_is_now=1
125
126 ## Caches and Limits
127 tmp_table_size=32M
128 max_heap_table_size=32M
129 # Re-enabling as now works with Maria 10.1.2
130 query_cache_type=1
131 query_cache_limit=4M
132 query_cache_size=256M
133 max_connections=500
134 thread_cache_size=50
135 open_files_limit=65535
136 table_definition_cache=4096
137 table_open_cache=4096
138
139 ## InnoDB
140 innodb=FORCE
141 innodb_strict_mode=1
142 # Mandatory per https://github.com/codership/documentation/issues/25
143 innodb_autoinc_lock_mode=2
144 # Per https://www.percona.com/blog/2006/08/04/innodb-double-write/
145 innodb_doublewrite=1
146 innodb_flush_method=O_DIRECT
147 innodb_log_files_in_group=2
148 innodb_log_file_size=128M
149 innodb_flush_log_at_trx_commit=1
150 innodb_file_per_table=1
151 # 80% Memory is default reco.
152 # Need to re-evaluate when DB size grows
153 innodb_buffer_pool_size=2G
154 innodb_file_format=Barracuda
155
156##########################################################################################
157# !!! the following configuration entries are ignored, when mariadbOperator is enabled !!!
158##########################################################################################
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100159# bitnami image doesn't support well single quote in password
160passwordStrengthOverride: basic
Krzysztof Opasiak01c975b2019-12-16 17:42:38 +0100161
Michal Jagiello4bc879a2022-04-20 12:58:42 +0000162image: bitnami/mariadb-galera:10.5.8
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100163## Specify a imagePullPolicy
164## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
165## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
166##
167pullPolicy: Always
vitalied1e5876c2018-03-29 10:24:27 -0500168
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100169## Set to true if you would like to see extra information on logs
170## It turns BASH debugging in minideb-extras-base
171##
172debug: true
vitalied1e5876c2018-03-29 10:24:27 -0500173
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100174## Sometimes, especially when a lot of pods are created at the same time,
175## actions performed on the databases are tried to be done before actual start.
176init_sleep_time: 5
vitalied1e5876c2018-03-29 10:24:27 -0500177
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100178## Use an alternate scheduler, e.g. "stork".
179## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
180##
181# schedulerName:
182
183## StatefulSet controller supports relax its ordering guarantees while preserving its uniqueness and identity guarantees. There are two valid pod management policies: OrderedReady and Parallel
184## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
185##
186podManagementPolicy: OrderedReady
187
188## MariaDB Gallera K8s svc properties
189##
190service:
191 ## Kubernetes service type and port number
192 ##
193 type: ClusterIP
194 headless: {}
Mahmoud Abdelhamiddfa07dd2021-06-15 16:43:02 +0200195 internalPort: &dbPort 3306
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100196 ports:
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200197 - name: tcp-mysql
Mahmoud Abdelhamiddfa07dd2021-06-15 16:43:02 +0200198 port: *dbPort
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100199 headlessPorts:
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200200 - name: tcp-galera
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100201 port: 4567
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200202 - name: tcp-ist
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100203 port: 4568
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200204 - name: tcp-sst
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100205 port: 4444
206
207
208## Pods Service Account
209## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
210##
211serviceAccount:
212 nameOverride: mariadb-galera
213 roles:
214 - read
215
216## Pod Security Context
217## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
218##
219securityContext:
220 enabled: true
221 user_id: 10001
222 group_id: 10001
223
224## Database credentials for root (admin) user
225##
226rootUser:
227 ## MariaDB admin user
228 user: root
229 ## MariaDB admin password
230 ## Password is ignored if externalSecret is specified.
231 ## If not set, password will be "randomly" generated
232 ## ref: https://github.com/bitnami/bitnami-docker-mariadb-galera#setting-the-root-password-on-first-run
233 ##
234 # password:
235 # externalSecret:
236
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100237## Galera configuration
238##
239galera:
240 ## Galera cluster name
241 ##
242 name: galera
243
244 ## Bootstraping options
245 ## ref: https://github.com/bitnami/bitnami-docker-mariadb-galera#bootstraping
246 bootstrap:
247 ## Node to bootstrap from, you will need to change this parameter incase you want to bootstrap from other node
248 ##
249 bootstrapFromNode:
250 ## Force safe_to_bootstrap in grastate.date file.
251 ## This will set safe_to_bootstrap=1 in the node indicated by bootstrapFromNode.
252 forceSafeToBootstrap: false
253
254 ## Credentials to perform backups
255 ##
256 mariabackup:
257 ## MariaBackup username and password
258 ## Password is ignored if externalSecret is specified.
259 ## If not set, password will be "randomly" generated
260 ## ref: https://github.com/bitnami/bitnami-docker-mariadb-galera#setting-up-a-multi-master-cluster
261 ##
262 user: mariabackup
263 # password:
264 # externalSecret:
265
Jozsef Csongvaicabbb6f2022-03-04 15:58:31 -0500266## The backup job will mount the mariadb data pvc in order to run mariabackup.
267## For this reason the db data pvc needs to have accessMode: ReadWriteMany.
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100268backup:
269 enabled: false
Andreas Geissler829f11c2024-01-12 12:19:03 +0100270 # used in the mariadb-operator to override the backup name (default is DBName)
271 # nameOverride:
272 # defines the backup job execution period
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100273 cron: "00 00 * * *"
Andreas Geissler829f11c2024-01-12 12:19:03 +0100274 # used by mariadb-operator to set the max retention time
275 maxRetention: 720h
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100276 retentionPeriod: 3
Andreas Geissler829f11c2024-01-12 12:19:03 +0100277 # used by mariadb-operator to set the backup storage type (PVC, S3, volume)
278 storageType: PVC
279 # configuration used for PVC backup storage
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100280 persistence:
281 ## If true, use a Persistent Volume Claim, If false, use emptyDir
282 ##
283 enabled: true
284 # Enable persistence using an existing PVC
285 # existingClaim:
286 ## selector can be used to match an existing PersistentVolume
287 ## selector:
288 ## matchLabels:
289 ## app: my-app
290 selector: {}
291 ## Persistent Volume Storage Class
292 ## If defined, storageClassName: <storageClass>
293 ## If set to "-", storageClassName: "", which disables dynamic provisioning
294 ## If undefined (the default) or set to null, no storageClassName spec is
295 ## set, choosing the default provisioner. (gp2 on AWS, standard on
296 ## GKE, AWS & OpenStack)
297 ##
298 # storageClass: "-"
299 ## Persistent Volume Claim annotations
300 ##
301 annotations:
302 ## Persistent Volume Access Mode
303 ##
304 accessMode: ReadWriteOnce
305 ## Persistent Volume size
306 ##
307 size: 2Gi
Andreas Geissler829f11c2024-01-12 12:19:03 +0100308 # requires mariadb-operator v0.24.0
309 # configuration used for S3 backup storage
310 # see: https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/BACKUP.md
311 s3:
312 bucket: backups
313 endpoint: minio.minio.svc.cluster.local:9000
314 #region: us-east-1
315 accessKeyIdSecretKeyRef:
316 name: minio
317 key: access-key-id
318 secretAccessKeySecretKeyRef:
319 name: minio
320 key: secret-access-key
321 tls:
322 enabled: false
323 caSecretKeyRef:
324 name: minio-ca
325 key: ca.crt
326 # configuration used for kubernetes volumes as backup storage
327 # see: https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/BACKUP.md
328 volume: {}
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100329
330readinessCheck:
331 wait_for:
Andreas Geisslerd518f732024-03-25 11:15:11 +0100332 services:
333 - '{{ include "common.servicename" . }}'
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100334
335## TLS configuration
336##
337tls:
338 ## Enable TLS
339 ##
340 enabled: false
341 ## Name of the secret that contains the certificates
342 ##
343 # certificatesSecret:
344 ## Certificate filename
345 ##
346 # certFilename:
347 ## Certificate Key filename
348 ##
349 # certKeyFilename:
350 ## CA Certificate filename
351 ##
352 # certCAFilename:
353
354## Configure MariaDB with a custom my.cnf file
355## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
356## Alternatively, you can put your my.cnf under the files/ directory
357##
358mariadbConfiguration: |-
359 [client]
360 port=3306
361 socket=/opt/bitnami/mariadb/tmp/mysql.sock
362 plugin_dir=/opt/bitnami/mariadb/plugin
363
364 [mysqld]
365 lower_case_table_names = 1
366 default_storage_engine=InnoDB
367 basedir=/opt/bitnami/mariadb
368 datadir=/bitnami/mariadb/data
369 plugin_dir=/opt/bitnami/mariadb/plugin
370 tmpdir=/opt/bitnami/mariadb/tmp
371 socket=/opt/bitnami/mariadb/tmp/mysql.sock
372 pid_file=/opt/bitnami/mariadb/tmp/mysqld.pid
373 bind_address=0.0.0.0
374
375 ## Character set
376 collation_server=utf8_unicode_ci
377 init_connect='SET NAMES utf8'
378 character_set_server=utf8
379
380 ## MyISAM
381 key_buffer_size=32M
382 myisam_recover_options=FORCE,BACKUP
383
384 ## Safety
385 skip_host_cache
386 skip_name_resolve
387 max_allowed_packet=16M
388 max_connect_errors=1000000
389 sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY
390 sysdate_is_now=1
391
392 ## Binary Logging
393 log_bin=mysql-bin
394 expire_logs_days=14
395 # Disabling for performance per http://severalnines.com/blog/9-tips-going-production-galera-cluster-mysql
396 sync_binlog=0
397 # Required for Galera
398 binlog_format=row
399
400 ## Caches and Limits
401 tmp_table_size=32M
402 max_heap_table_size=32M
403 # Re-enabling as now works with Maria 10.1.2
404 query_cache_type=1
405 query_cache_limit=4M
406 query_cache_size=256M
407 max_connections=500
408 thread_cache_size=50
409 open_files_limit=65535
410 table_definition_cache=4096
411 table_open_cache=4096
412
413 ## InnoDB
414 innodb=FORCE
415 innodb_strict_mode=1
416 # Mandatory per https://github.com/codership/documentation/issues/25
417 innodb_autoinc_lock_mode=2
418 # Per https://www.percona.com/blog/2006/08/04/innodb-double-write/
419 innodb_doublewrite=1
420 innodb_flush_method=O_DIRECT
421 innodb_log_files_in_group=2
422 innodb_log_file_size=128M
423 innodb_flush_log_at_trx_commit=1
424 innodb_file_per_table=1
425 # 80% Memory is default reco.
426 # Need to re-evaluate when DB size grows
427 innodb_buffer_pool_size=2G
428 innodb_file_format=Barracuda
429
430 ## Logging
431 log_error=/opt/bitnami/mariadb/logs/mysqld.log
432 slow_query_log_file=/opt/bitnami/mariadb/logs/mysqld.log
433 log_queries_not_using_indexes=1
434 slow_query_log=1
435
436 ## SSL
437 ## Use extraVolumes and extraVolumeMounts to mount /certs filesystem
438 # ssl_ca=/certs/ca.pem
439 # ssl_cert=/certs/server-cert.pem
440 # ssl_key=/certs/server-key.pem
441
442 [galera]
443 wsrep_on=ON
444 wsrep_provider=/opt/bitnami/mariadb/lib/libgalera_smm.so
445 wsrep_sst_method=mariabackup
446 wsrep_slave_threads=4
447 wsrep_cluster_address=gcomm://
448 wsrep_cluster_name=galera
449 wsrep_sst_auth="root:"
450 # Enabled for performance per https://mariadb.com/kb/en/innodb-system-variables/#innodb_flush_log_at_trx_commit
451 innodb_flush_log_at_trx_commit=2
452 # MYISAM REPLICATION SUPPORT #
453 wsrep_replicate_myisam=ON
Sylvain Desbureaux7d3ddcd2021-04-22 17:18:11 +0200454 binlog_format=row
455 default_storage_engine=InnoDB
456 innodb_autoinc_lock_mode=2
457 transaction-isolation=READ-COMMITTED
458 wsrep_causal_reads=1
459 wsrep_sync_wait=7
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100460
461 [mariadb]
462 plugin_load_add=auth_pam
463
464 ## Data-at-Rest Encryption
465 ## Use extraVolumes and extraVolumeMounts to mount /encryption filesystem
466 # plugin_load_add=file_key_management
467 # file_key_management_filename=/encryption/keyfile.enc
468 # file_key_management_filekey=FILE:/encryption/keyfile.key
469 # file_key_management_encryption_algorithm=AES_CTR
470 # encrypt_binlog=ON
471 # encrypt_tmp_files=ON
472
473 ## InnoDB/XtraDB Encryption
474 # innodb_encrypt_tables=ON
475 # innodb_encrypt_temporary_tables=ON
476 # innodb_encrypt_log=ON
477 # innodb_encryption_threads=4
478 # innodb_encryption_rotate_key_age=1
479
480 ## Aria Encryption
481 # aria_encrypt_tables=ON
482 # encrypt_tmp_disk_tables=ON
483
484## MariaDB additional command line flags
485## Can be used to specify command line flags, for example:
486##
487## extraFlags: "--max-connect-errors=1000 --max_connections=155"
488
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100489## updateStrategy for MariaDB Master StatefulSet
490## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
491##
492updateStrategy:
493 type: RollingUpdate
vitalied1e5876c2018-03-29 10:24:27 -0500494
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100495## Pod affinity preset
496## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
497## Allowed values: soft, hard
498##
499podAffinityPreset: ""
500
501## Pod anti-affinity preset
502## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
503## Allowed values: soft, hard
504##
505podAntiAffinityPreset: soft
506
507## Node affinity preset
508## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
509## Allowed values: soft, hard
510##
511nodeAffinityPreset:
512 ## Node affinity type
513 ## Allowed values: soft, hard
514 type: ""
515 ## Node label key to match
516 ## E.g.
517 ## key: "kubernetes.io/e2e-az-name"
518 ##
519 key: ""
520 ## Node label values to match
521 ## E.g.
522 ## values:
523 ## - e2e-az1
524 ## - e2e-az2
525 ##
526 values: []
527
528## Affinity for pod assignment. Evaluated as a template.
529## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
530## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
531##
vitalied1e5876c2018-03-29 10:24:27 -0500532affinity: {}
533
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100534## Node labels for pod assignment. Evaluated as a template.
535## ref: https://kubernetes.io/docs/user-guide/node-selection/
536##
537nodeSelector: {}
vitalied1e5876c2018-03-29 10:24:27 -0500538
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100539## Tolerations for pod assignment. Evaluated as a template.
540## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
541##
542tolerations: []
vitalied1e5876c2018-03-29 10:24:27 -0500543
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100544## Enable persistence using Persistent Volume Claims
545## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
546##
vitalied1e5876c2018-03-29 10:24:27 -0500547persistence:
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100548 ## If true, use a Persistent Volume Claim, If false, use emptyDir
549 ##
550 enabled: true
551 # Enable persistence using an existing PVC
vitalied1e5876c2018-03-29 10:24:27 -0500552 # existingClaim:
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100553 mountPath: /dockerdata-nfs
554 mountSubPath: "mariadb-galera/data"
555 ## selector can be used to match an existing PersistentVolume
556 ## selector:
557 ## matchLabels:
558 ## app: my-app
559 selector: {}
560 ## Persistent Volume Storage Class
vitalied1e5876c2018-03-29 10:24:27 -0500561 ## If defined, storageClassName: <storageClass>
562 ## If set to "-", storageClassName: "", which disables dynamic provisioning
563 ## If undefined (the default) or set to null, no storageClassName spec is
564 ## set, choosing the default provisioner. (gp2 on AWS, standard on
565 ## GKE, AWS & OpenStack)
566 ##
567 # storageClass: "-"
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100568 ## Persistent Volume Claim annotations
569 ##
570 annotations:
571 ## Persistent Volume Access Mode
Jozsef Csongvaicabbb6f2022-03-04 15:58:31 -0500572 ## Use ReadWriteMany if backup is enabled, see backup section.
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100573 ##
Sylvain Desbureaux2285a282019-08-29 16:17:16 +0200574 accessMode: ReadWriteOnce
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100575 ## Persistent Volume size
576 ##
Michal Jagiellob15bf672022-04-07 06:45:50 +0000577 size: 3Gi
vitalied1e5876c2018-03-29 10:24:27 -0500578
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100579## Additional pod labels
vitalied1e5876c2018-03-29 10:24:27 -0500580##
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100581# podLabels:
582# extraLabel: extraValue
vitalied1e5876c2018-03-29 10:24:27 -0500583
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100584## Priority Class Name
585#
586# priorityClassName: 'priorityClass'
587
588## MariaDB Galera containers' resource requests and limits
589## ref: http://kubernetes.io/docs/user-guide/compute-resources/
590##
591flavor: small
vitalied1e5876c2018-03-29 10:24:27 -0500592resources:
Sylvain Desbureauxff702c72018-11-23 14:25:57 +0100593 small:
594 limits:
Andreas Geissler47537432024-02-27 08:55:23 +0100595 cpu: "1"
596 memory: "4Gi"
Sylvain Desbureauxff702c72018-11-23 14:25:57 +0100597 requests:
Andreas Geissler47537432024-02-27 08:55:23 +0100598 cpu: "500m"
599 memory: "2Gi"
Sylvain Desbureauxff702c72018-11-23 14:25:57 +0100600 large:
601 limits:
Andreas Geissler47537432024-02-27 08:55:23 +0100602 cpu: "2"
603 memory: "6Gi"
Sylvain Desbureauxff702c72018-11-23 14:25:57 +0100604 requests:
Andreas Geissler47537432024-02-27 08:55:23 +0100605 cpu: "1"
606 memory: "3Gi"
Sylvain Desbureauxff702c72018-11-23 14:25:57 +0100607 unlimited: {}
vitalied1e5876c2018-03-29 10:24:27 -0500608
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100609## MariaDB Galera containers' liveness and readiness probes
610## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
611##
612livenessProbe:
613 enabled: true
Sylvain Desbureaux7f09e762021-05-05 09:20:18 +0200614 initialDelaySeconds: 1
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100615 periodSeconds: 10
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200616 timeoutSeconds: 180
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100617 successThreshold: 1
618 failureThreshold: 3
619readinessProbe:
620 enabled: true
Sylvain Desbureaux7f09e762021-05-05 09:20:18 +0200621 initialDelaySeconds: 1
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100622 periodSeconds: 10
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200623 timeoutSeconds: 180
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100624 successThreshold: 1
625 failureThreshold: 3
Sylvain Desbureaux7f09e762021-05-05 09:20:18 +0200626startupProbe:
627 ## Initializing the database could take some time
628 ##
629 enabled: true
630 initialDelaySeconds: 10
631 periodSeconds: 10
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200632 timeoutSeconds: 180
Sylvain Desbureaux7f09e762021-05-05 09:20:18 +0200633 successThreshold: 1
634 # will wait up for initialDelaySeconds + failureThreshold*periodSeconds before
635 # stating startup wasn't good (910s per default)
636 failureThreshold: 90
vitalied1e5876c2018-03-29 10:24:27 -0500637
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100638## Pod disruption budget configuration
639##
640podDisruptionBudget:
641 ## Specifies whether a Pod disruption budget should be created
642 ##
643 create: true
644 minAvailable: 1
645 # maxUnavailable: 1
Akansha Dua3fb95ef2019-09-04 11:47:43 +0000646
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100647## Prometheus exporter configuration
648##
649metrics:
650 ## Bitnami MySQL Prometheus exporter image
651 ## ref: https://hub.docker.com/r/bitnami/mysqld-exporter/tags/
652 ##
653 image: bitnami/mysqld-exporter:0.12.1-debian-10-r264
654 pullPolicy: Always
655 ## MySQL exporter additional command line flags
656 ## Can be used to specify command line flags
657 ## E.g.:
658 ## extraFlags:
659 ## - --collect.binlog_size
660 ##
661 extraFlags: []
662 ## MySQL Prometheus exporter containers' resource requests and limits
663 ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
664 ##
665 resources:
666 # We usually recommend not to specify default resources and to leave this as a conscious
667 # choice for the user. This also increases chances charts run on environments with little
668 # resources, such as Minikube. If you do want to specify resources, uncomment the following
669 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
670 limits:
Andreas Geissler47537432024-02-27 08:55:23 +0100671 cpu: "0.5"
Andreas Geissler8cbb3d92024-03-12 16:44:56 +0100672 memory: "200Mi"
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100673 requests:
Andreas Geissler47537432024-02-27 08:55:23 +0100674 cpu: "0.5"
Andreas Geissler8cbb3d92024-03-12 16:44:56 +0100675 memory: "200Mi"
a.sreekumarcf3133d2021-09-10 14:41:30 +0100676 ## MariaDB Galera metrics container's liveness and readiness probes
677 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
678 ##
679 livenessProbe:
680 enabled: true
681 initialDelaySeconds: 30
682 periodSeconds: 10
683 timeoutSeconds: 5
684 successThreshold: 1
685 failureThreshold: 3
686 readinessProbe:
687 enabled: true
688 initialDelaySeconds: 5
689 periodSeconds: 10
690 timeoutSeconds: 5
691 successThreshold: 1
692 failureThreshold: 3
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100693 ## MySQL Prometheus exporter service parameters
694 ##
695 service:
696 type: ClusterIP
697 port: 9104
698 annotations:
699 prometheus.io/scrape: "true"
700 prometheus.io/port: "9104"
701
702 ## Prometheus Operator ServiceMonitor configuration
703 ##
704 serviceMonitor:
705 enabled: false
706 ## Namespace in which Prometheus is running
707 ##
708 # namespace: monitoring
709
710 ## Interval at which metrics should be scraped.
711 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
712 ##
713 # interval: 10s
714
715 ## Timeout after which the scrape is ended
716 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
717 ##
718 # scrapeTimeout: 10s
719
720 ## ServiceMonitor selector labels
721 ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
722 ##
Bartek Grzybowskia9d2af72022-02-04 14:19:51 +0100723 # selector:
724 # prometheus: kube-prometheus
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100725
726 ## RelabelConfigs to apply to samples before scraping
727 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
728 ## Value is evalued as a template
729 ##
730 relabelings: []
731
732 ## MetricRelabelConfigs to apply to samples before ingestion
733 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
734 ## Value is evalued as a template
735 ##
736 metricRelabelings: []
737 # - sourceLabels:
738 # - "__name__"
739 # targetLabel: "__name__"
740 # action: replace
741 # regex: '(.*)'
742 # replacement: 'example_prefix_$1'
743
744 ## Prometheus Operator PrometheusRule configuration
745 ##
746 prometheusRules:
747 enabled: false
748
749 ## Additional labels to add to the PrometheusRule so it is picked up by the operator.
750 ## If using the [Helm Chart](https://github.com/helm/charts/tree/master/stable/prometheus-operator) this is the name of the Helm release and 'app: prometheus-operator'
751 selector:
752 app: prometheus-operator
753 release: prometheus
754
755 ## Rules as a map.
Andreas Geisslerba1200c2022-04-07 17:02:59 +0200756 rules: []
Sylvain Desbureaux93a5b492020-11-27 11:07:42 +0100757 # - alert: MariaDB-Down
758 # annotations:
759 # message: 'MariaDB instance {{ $labels.instance }} is down'
760 # summary: MariaDB instance is down
761 # expr: absent(up{job="mariadb-galera"} == 1)
762 # labels:
763 # severity: warning
764 # service: mariadb-galera
765 # for: 5m