## Global Docker image registry ## Please, note that this will override the image registry for all the images, including dependencies, configured to use the global value ## # global: # imageRegistry: ## Bitnami MariaDB image ## ref: https://hub.docker.com/r/bitnami/mariadb/tags/ ## image: registry: docker.io repository: bitnami/mariadb tag: 10.1.37 ## 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/ ## # pullSecrets: # - myRegistrKeySecretName ## 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 service: ## Kubernetes service type, ClusterIP and NodePort are supported at present type: NodePort # clusterIp: None 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: master: 33306 slave: 33307 ## Pods Service Account ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ serviceAccount: ## Specifies whether a ServiceAccount should be created ## create: false ## The name of the ServiceAccount to use. ## If not set and create is true, a name is generated using the mariadb.fullname template # name: ## Pod Security Context ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ ## securityContext: enabled: true fsGroup: 1001 runAsUser: 1001 # # Use existing secret (ignores root, db and replication passwords) # existingSecret: rootUser: ## MariaDB admin password ## ref: https://github.com/bitnami/bitnami-docker-mariadb#setting-the-root-password-on-first-run ## password: test.c0m ## ## Option to force users to specify a password. That is required for 'helm upgrade' to work properly. ## If it is not force, a random password will be generated. forcePassword: true db: ## MariaDB username and password ## ref: https://github.com/bitnami/bitnami-docker-mariadb#creating-a-database-user-on-first-run ## user: hello password: hello ## Password is ignored if existingSecret is specified. ## Database to create ## ref: https://github.com/bitnami/bitnami-docker-mariadb#creating-a-database-on-first-run ## name: hello ## Option to force users to specify a password. That is required for 'helm upgrade' to work properly. ## If it is not force, a random password will be generated. forcePassword: true replication: ## Enable replication. This enables the creation of replicas of MariaDB. If false, only a ## master deployment would be created enabled: true ## ## MariaDB replication user ## ref: https://github.com/bitnami/bitnami-docker-mariadb#setting-up-a-replication-cluster ## user: replicator ## MariaDB replication user password ## ref: https://github.com/bitnami/bitnami-docker-mariadb#setting-up-a-replication-cluster ## password: R4%forep11CAT0r ## Password is ignored if existingSecret is specified. ## ## Option to force users to specify a password. That is required for 'helm upgrade' to work properly. ## If it is not force, a random password will be generated. forcePassword: true ## initdb scripts ## Specify dictionnary of scripts to be run at first boot ## Alternatively, you can put your scripts under the files/docker-entrypoint-initdb.d directory ## # initdbScripts: # my_init_script.sh: | # #!/bin/sh # echo "Do something." # ## ConfigMap with scripts to be run at first boot ## Note: This will override initdbScripts # initdbScriptsConfigMap: master: ## Mariadb Master additional pod annotations ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ # annotations: # - key: key1 # value: value1 ## Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## affinity: {} ## Kept for backwards compatibility. You can now disable it by removing it. ## if you wish to set it through master.affinity.podAntiAffinity instead. ## antiAffinity: soft ## Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] ## 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 # Enable persistence using an existing PVC # existingClaim: mountPath: /bitnami/mariadb ## 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: "nfs-db" ## Persistent Volume Claim annotations ## annotations: {} ## Persistent Volume Access Mode ## accessModes: - ReadWriteOnce ## Persistent Volume size ## size: 5Gi ## extraInitContainers: | # - name: do-something # image: busybox # command: ['do', 'something'] ## Configure MySQL with a custom my.cnf file ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file ## config: |- [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 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 # optimize max_allowed_packet = 1024M table_open_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M thread_cache_size = 8 query_cache_size = 32M max_heap_table_size=1024M tmp_table_size=1024M max_connections=65535 max_connect_errors=65535 wait_timeout=172800 interactive_timeout=172800 connect_timeout=30 # log settings expire_logs_days=3 [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 ## Configure master resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: {} livenessProbe: enabled: true ## ## Initializing the database could take some time initialDelaySeconds: 120 ## ## Default Kubernetes values periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 readinessProbe: enabled: true initialDelaySeconds: 15 ## ## Default Kubernetes values periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 slave: replicas: 1 ## Mariadb Slave additional pod annotations ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ # annotations: # - key: key1 # value: value1 ## Affinity for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## affinity: {} ## Kept for backwards compatibility. You can now disable it by removing it. ## if you wish to set it through slave.affinity.podAntiAffinity instead. ## antiAffinity: soft ## Tolerations for pod assignment ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ ## tolerations: [] persistence: ## If true, use a Persistent Volume Claim, If false, use emptyDir ## enabled: false # storageClass: "-" annotations: accessModes: - ReadWriteOnce ## Persistent Volume size ## size: 5Gi ## extraInitContainers: | # - name: do-something # image: busybox # command: ['do', 'something'] ## Configure MySQL slave with a custom my.cnf file ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file ## config: |- [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 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 # optimize max_allowed_packet = 1024M table_open_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M thread_cache_size = 8 query_cache_size = 32M max_heap_table_size=1024M tmp_table_size=1024M max_connections=65535 max_connect_errors=65535 wait_timeout=172800 interactive_timeout=172800 connect_timeout=30 # log settings expire_logs_days=3 [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 ## ## Configure slave resource requests and limits ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ ## resources: {} livenessProbe: enabled: true ## ## Initializing the database could take some time initialDelaySeconds: 120 ## ## Default Kubernetes values periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 readinessProbe: enabled: true initialDelaySeconds: 15 ## ## Default Kubernetes values periodSeconds: 10 timeoutSeconds: 1 successThreshold: 1 failureThreshold: 3 metrics: enabled: false image: registry: docker.io repository: prom/mysqld-exporter tag: v0.10.0 pullPolicy: IfNotPresent resources: {} annotations: prometheus.io/scrape: "true" prometheus.io/port: "9104"