## Global Docker image parameters ## Please, note that this will override the image parameters, including dependencies, configured to use the global value ## Current available global Docker image parameters: imageRegistry and imagePullSecrets ## # global: # imageRegistry: myRegistryName # imagePullSecrets: # - myRegistryKeySecretName # storageClass: myStorageClass ## Bitnami MariaDB image ## ref: https://hub.docker.com/r/bitnami/mariadb/tags/ ## image: registry: docker.io repository: bitnami/mariadb tag: 10.5.8-debian-10-r21 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images ## pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace) ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## Example: ## pullSecrets: ## - myRegistryKeySecretName ## pullSecrets: [] ## Set to true if you would like to see extra information on logs ## It turns BASH and NAMI debugging in minideb ## ref: https://github.com/bitnami/minideb-extras/#turn-on-bash-debugging debug: false ## String to partially override mariadb.fullname template (will maintain the release name) ## # nameOverride: ## String to fully override mariadb.fullname template ## # fullnameOverride: ## Cluster domain ## clusterDomain: cluster.local ## Common annotations to add to all MariaDB resources (sub-charts are not considered). Evaluated as a template ## commonAnnotations: {} ## Common labels to add to all MariaDB resources (sub-charts are not considered). Evaluated as a template ## commonLabels: {} ## Use an alternate scheduler, e.g. "stork". ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ ## # schedulerName: ## MariaDB architecture. Allowed values: standalone or replication ## architecture: replication ## MariaDB Authentication parameters ## auth: ## MariaDB root password ## ref: https://github.com/bitnami/bitnami-docker-mariadb#setting-the-root-password-on-first-run ## rootPassword: "" ## MariaDB custom user and database ## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-on-first-run ## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#creating-a-database-user-on-first-run ## database: my_database username: "" password: "" ## MariaDB replication user and password ## ref: https://github.com/bitnami/bitnami-docker-mariadb#setting-up-a-replication-cluster ## replicationUser: replicator replicationPassword: "" ## Existing secret with MariaDB credentials ## NOTE: When it's set the previous parameters are ignored. ## # existingSecret: name-of-existing-secret ## Force users to specify required passwords ## forcePassword: true ## Mount credentials as files instead of using an environment variable ## usePasswordFiles: true ## Use custom secret files other than chart provided when usePasswordFiles is set to "true" ## Example: ## customPasswordFiles: ## root: /vault/secrets/mariadb-root ## user: /vault/secrets/mariadb-user ## replicator: /vault/secrets/mariadb-replicator ## customPasswordFiles: root: "" user: "" replicator: "" ## initdb scripts ## Specify dictionary of scripts to be run at first boot ## Example: ## initdbScripts: ## my_init_script.sh: | ## #!/bin/bash ## echo "Do something." ## initdbScripts: {} ## Existing ConfigMap with custom init scripts ## # initdbScriptsConfigMap: ## Mariadb Primary parameters ## primary: ## Command and args for running the container (set to default if not set). Use array form ## command: [] args: [] ## Configure MariaDB Primary with a custom my.cnf file ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file ## configuration: |- [mysqld] skip-name-resolve explicit_defaults_for_timestamp basedir=/opt/bitnami/mariadb plugin_dir=/opt/bitnami/mariadb/plugin port=3306 socket=/opt/bitnami/mariadb/tmp/mysql.sock tmpdir=/opt/bitnami/mariadb/tmp max_allowed_packet=16M bind-address=0.0.0.0 pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid log-error=/opt/bitnami/mariadb/logs/mysqld.log character-set-server=UTF8 collation-server=utf8_general_ci [client] port=3306 socket=/opt/bitnami/mariadb/tmp/mysql.sock default-character-set=UTF8 plugin_dir=/opt/bitnami/mariadb/plugin [manager] port=3306 socket=/opt/bitnami/mariadb/tmp/mysql.sock pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid ## Name of existing ConfigMap with MariaDB Primary configuration. ## NOTE: When it's set the 'configuration' parameter is ignored ## # existingConfiguration: ## updateStrategy for Mariadb Primary statefulset ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies ## updateStrategy: RollingUpdate ## Partition update strategy for Mariadb Primary statefulset ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions ## # rollingUpdatePartition: ## Mariadb Primary pod annotations ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## Mariadb Primary pod affinity preset ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## Allowed values: soft, hard ## podAffinityPreset: "" ## Mariadb Primary pod anti-affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## Allowed values: soft, hard ## podAntiAffinityPreset: soft ## Mariadb Primary node affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## Allowed values: soft, hard ## nodeAffinityPreset: ## Node affinity type ## Allowed values: soft, hard type: "" ## Node label key to match ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## Node label values to match ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## Affinity for MariaDB primary pods assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## Node labels for MariaDB primary pods assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## Tolerations for MariaDB primary pods assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## MariaDB primary Pod security context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod ## podSecurityContext: enabled: true fsGroup: 1001 ## MariaDB primary container security context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container ## containerSecurityContext: enabled: true runAsUser: 1001 ## MariaDB primary container's resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: {} # memory: 256Mi # cpu: 100m requests: {} # memory: 256Mi # cpu: 100m ## MariaDB primary container's liveness and readiness probes ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## livenessProbe: enabled: true initialDelaySeconds: 120 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 readinessProbe: enabled: true initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 ## MariaDB primary custom liveness probe ## customLivenessProbe: {} ## MariaDB primary custom rediness probe ## customReadinessProbe: {} ## MariaDB primary additional command line flags ## Can be used to specify command line flags, for example: ## E.g. ## extraFlags: "--max-connect-errors=1000 --max_connections=155" ## extraFlags: "" ## An array to add extra environment variables on MariaDB primary containers ## E.g. ## extraEnvVars: ## - name: TZ ## value: "Europe/Paris" ## extraEnvVars: [] ## ConfigMap with extra env vars for MariaDB primary containers: ## extraEnvVarsCM: "" ## Secret with extra env vars for MariaDB primary containers: ## extraEnvVarsSecret: "" ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: ## If true, use a Persistent Volume Claim, If false, use emptyDir ## enabled: true ## Name of existing PVC to hold MariaDB Primary data ## NOTE: When it's set the rest of persistence parameters are ignored ## # existingClaim: ## Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## # storageClass: "-" ## Persistent Volume Claim annotations ## annotations: {} ## Persistent Volume Access Mode ## accessModes: - ReadWriteOnce ## Persistent Volume size ## size: 8Gi ## selector can be used to match an existing PersistentVolume ## selector: ## matchLabels: ## app: my-app selector: {} ## Extra volumes to add to the MariaDB Primary pod(s) ## extraVolumes: [] ## Extra volume mounts to add to the MariaDB Primary container(s) ## extraVolumeMounts: [] ## Extra init containers to add to the MariaDB Primary pod(s) ## initContainers: [] ## Extra sidecar containers to add to the MariaDB Primary pod(s) ## sidecars: [] ## MariaDB Primary Service parameters ## service: ## Service type ## type: ClusterIP ## Service port ## port: 3306 ## Specify the nodePort value for the LoadBalancer and NodePort service types. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## nodePort: "" ## Service clusterIP ## # clusterIP: None clusterIP: "" ## Set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" ## Load Balancer sources ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service ## E.g. ## loadBalancerSourceRanges: ## - 10.10.10.0/24 ## loadBalancerSourceRanges: [] ## Provide any additional annotations which may be required ## annotations: {} ## MariaDB primary Pod Disruption Budget configuration ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ ## pdb: create: false ## Min number of pods that must still be available after the eviction ## minAvailable: 1 ## Max number of pods that can be unavailable after the eviction ## # maxUnavailable: 1 ## Mariadb Secondary parameters ## secondary: ## Number of Mariadb Secondary replicas to deploy ## replicaCount: 2 ## Command and args for running the container (set to default if not set). Use array form ## command: [] args: [] ## Configure MariaDB Secondary with a custom my.cnf file ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file ## configuration: |- [mysqld] skip-name-resolve explicit_defaults_for_timestamp basedir=/opt/bitnami/mariadb port=3306 socket=/opt/bitnami/mariadb/tmp/mysql.sock tmpdir=/opt/bitnami/mariadb/tmp max_allowed_packet=16M bind-address=0.0.0.0 pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid log-error=/opt/bitnami/mariadb/logs/mysqld.log character-set-server=UTF8 collation-server=utf8_general_ci [client] port=3306 socket=/opt/bitnami/mariadb/tmp/mysql.sock default-character-set=UTF8 [manager] port=3306 socket=/opt/bitnami/mariadb/tmp/mysql.sock pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid ## Name of existing ConfigMap with MariaDB Secondary configuration. ## NOTE: When it's set the 'configuration' parameter is ignored ## # existingConfiguration: ## updateStrategy for Mariadb Secondary statefulset ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies ## updateStrategy: RollingUpdate ## Partition update strategy for Mariadb Secondary statefulset ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions ## # rollingUpdatePartition: ## Mariadb Secondary pod annotations ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ ## podAnnotations: {} ## Mariadb Secondary pod affinity preset ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## Allowed values: soft, hard ## podAffinityPreset: "" ## Mariadb Secondary pod anti-affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity ## Allowed values: soft, hard ## podAntiAffinityPreset: soft ## Mariadb Secondary node affinity preset ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity ## Allowed values: soft, hard ## nodeAffinityPreset: ## Node affinity type ## Allowed values: soft, hard type: "" ## Node label key to match ## E.g. ## key: "kubernetes.io/e2e-az-name" ## key: "" ## Node label values to match ## E.g. ## values: ## - e2e-az1 ## - e2e-az2 ## values: [] ## Affinity for MariaDB secondary pods assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set ## affinity: {} ## Node labels for MariaDB secondary pods assignment ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ ## nodeSelector: {} ## Tolerations for MariaDB secondary pods assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## MariaDB secondary Pod security context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod ## podSecurityContext: enabled: true fsGroup: 1001 ## MariaDB secondary container security context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container ## containerSecurityContext: enabled: true runAsUser: 1001 ## MariaDB secondary container's resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: {} # memory: 256Mi # cpu: 100m requests: {} # memory: 256Mi # cpu: 100m ## MariaDB secondary container's liveness and readiness probes ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## livenessProbe: enabled: true initialDelaySeconds: 120 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 readinessProbe: enabled: true initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 ## MariaDB secondary custom liveness probe ## customLivenessProbe: {} ## MariaDB secondary custom rediness probe ## customReadinessProbe: {} ## MariaDB secondary additional command line flags ## Can be used to specify command line flags, for example: ## E.g. ## extraFlags: "--max-connect-errors=1000 --max_connections=155" ## extraFlags: "" ## An array to add extra environment variables on MariaDB secondary containers ## E.g. ## extraEnvVars: ## - name: TZ ## value: "Europe/Paris" ## extraEnvVars: [] ## ConfigMap with extra env vars for MariaDB secondary containers: ## extraEnvVarsCM: "" ## Secret with extra env vars for MariaDB secondary containers: ## extraEnvVarsSecret: "" ## Enable persistence using Persistent Volume Claims ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/ ## persistence: ## If true, use a Persistent Volume Claim, If false, use emptyDir ## enabled: true ## Persistent Volume Storage Class ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## # storageClass: "-" ## Persistent Volume Claim annotations ## annotations: {} ## Persistent Volume Access Mode ## accessModes: - ReadWriteOnce ## Persistent Volume size ## size: 8Gi ## selector can be used to match an existing PersistentVolume ## selector: ## matchLabels: ## app: my-app selector: {} ## Extra volumes to add to the MariaDB Secondary pod(s) ## extraVolumes: [] ## Extra volume mounts to add to the MariaDB Secondary container(s) ## extraVolumeMounts: [] ## Extra init containers to add to the MariaDB Secondary pod(s) ## initContainers: [] ## Extra sidecar containers to add to the MariaDB Secondary pod(s) ## sidecars: [] ## MariaDB Secondary Service parameters ## service: ## Service type ## type: ClusterIP ## Service port ## port: 3306 ## Specify the nodePort value for the LoadBalancer and NodePort service types. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## nodePort: "" ## Service clusterIP ## # clusterIP: None clusterIP: "" ## Set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ## loadBalancerIP: "" ## Load Balancer sources ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service ## E.g. ## loadBalancerSourceRanges: ## - 10.10.10.0/24 ## loadBalancerSourceRanges: [] ## Provide any additional annotations which may be required ## annotations: {} ## MariaDB secondary Pod Disruption Budget configuration ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ ## pdb: create: false ## Min number of pods that must still be available after the eviction ## minAvailable: 1 ## Max number of pods that can be unavailable after the eviction ## # maxUnavailable: 1 ## MariaDB pods ServiceAccount ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ ## serviceAccount: ## Specifies whether a ServiceAccount should be created ## create: true ## The name of the ServiceAccount to use. ## If not set and create is true, a name is generated using the mariadb.fullname template ## # name: ## Annotations to add to the service account (evaluated as a template) ## annotations: {} ## Role Based Access ## ref: https://kubernetes.io/docs/admin/authorization/rbac/ ## rbac: ## Specifies whether RBAC rules should be created ## create: false ## Init containers parameters: ## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section. ## volumePermissions: enabled: false image: registry: docker.io repository: bitnami/minideb tag: buster pullPolicy: Always ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## # pullSecrets: # - myRegistryKeySecretName resources: {} ## Mysqld Prometheus exporter parameters ## metrics: enabled: false image: registry: docker.io repository: bitnami/mysqld-exporter tag: 0.12.1-debian-10-r289 pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## # pullSecrets: # - myRegistryKeySecretName annotations: prometheus.io/scrape: "true" prometheus.io/port: "9104" ## Extra args to be passed to mysqld_exporter ## ref: https://github.com/prometheus/mysqld_exporter/ ## E.g. ## - --collect.auto_increment.columns ## - --collect.binlog_size ## - --collect.engine_innodb_status ## - --collect.engine_tokudb_status ## - --collect.global_status ## - --collect.global_variables ## - --collect.info_schema.clientstats ## - --collect.info_schema.innodb_metrics ## - --collect.info_schema.innodb_tablespaces ## - --collect.info_schema.innodb_cmp ## - --collect.info_schema.innodb_cmpmem ## - --collect.info_schema.processlist ## - --collect.info_schema.processlist.min_time ## - --collect.info_schema.query_response_time ## - --collect.info_schema.tables ## - --collect.info_schema.tables.databases ## - --collect.info_schema.tablestats ## - --collect.info_schema.userstats ## - --collect.perf_schema.eventsstatements ## - --collect.perf_schema.eventsstatements.digest_text_limit ## - --collect.perf_schema.eventsstatements.limit ## - --collect.perf_schema.eventsstatements.timelimit ## - --collect.perf_schema.eventswaits ## - --collect.perf_schema.file_events ## - --collect.perf_schema.file_instances ## - --collect.perf_schema.indexiowaits ## - --collect.perf_schema.tableiowaits ## - --collect.perf_schema.tablelocks ## - --collect.perf_schema.replication_group_member_stats ## - --collect.slave_status ## - --collect.slave_hosts ## - --collect.heartbeat ## - --collect.heartbeat.database ## - --collect.heartbeat.table ## extraArgs: primary: [] secondary: [] ## Mysqld Prometheus exporter resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: {} # memory: 256Mi # cpu: 100m requests: {} # memory: 256Mi # cpu: 100m ## Mysqld Prometheus exporter liveness and readiness probes ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ## livenessProbe: enabled: true initialDelaySeconds: 120 periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 readinessProbe: enabled: true initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 ## Prometheus Service Monitor ## ref: https://github.com/coreos/prometheus-operator ## serviceMonitor: ## If the operator is installed in your cluster, set to true to create a Service Monitor Entry ## enabled: false ## Specify the namespace in which the serviceMonitor resource will be created ## # namespace: "" ## Specify the interval at which metrics should be scraped ## interval: 30s ## Specify the timeout after which the scrape is ended ## # scrapeTimeout: 30s ## Specify Metric Relabellings to add to the scrape endpoint ## # relabellings: ## Specify honorLabels parameter to add the scrape endpoint ## honorLabels: false ## Specify the release for ServiceMonitor. Sometimes it should be custom for prometheus operator to work ## # release: "" ## Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec ## additionalLabels: {}