| # ***************************************************************************** |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| # ****************************************************************************** |
| |
| ## mysql image version |
| ## ref: https://hub.docker.com/r/library/mysql/tags/ |
| ## |
| image: "mysql" |
| imageTag: "5.7.30" |
| |
| strategy: |
| type: Recreate |
| |
| busybox: |
| image: "busybox" |
| tag: "1.32" |
| |
| testFramework: |
| enabled: true |
| image: "bats/bats" |
| tag: "1.2.1" |
| imagePullPolicy: IfNotPresent |
| securityContext: {} |
| |
| ## Specify password for root user |
| ## |
| ## Default: random 10 character string |
| # mysqlRootPassword: testing |
| |
| ## Create a database user |
| ## |
| # mysqlUser: |
| ## Default: random 10 character string |
| # mysqlPassword: |
| |
| ## Allow unauthenticated access, uncomment to enable |
| ## |
| # mysqlAllowEmptyPassword: true |
| |
| ## Create a database |
| ## |
| # mysqlDatabase: |
| |
| ## Specify an imagePullPolicy (Required) |
| ## It's recommended to change this to 'Always' if the image tag is 'latest' |
| ## ref: http://kubernetes.io/docs/user-guide/images/#updating-images |
| ## |
| imagePullPolicy: IfNotPresent |
| |
| ## Additionnal arguments that are passed to the MySQL container. |
| ## For example use --default-authentication-plugin=mysql_native_password if older clients need to |
| ## connect to a MySQL 8 instance. |
| args: [] |
| |
| extraVolumes: | |
| # - name: extras |
| # emptyDir: {} |
| |
| extraVolumeMounts: | |
| # - name: extras |
| # mountPath: /usr/share/extras |
| # readOnly: true |
| |
| extraInitContainers: | |
| # - name: do-something |
| # image: busybox |
| # command: ['do', 'something'] |
| |
| ## A string to add extra environment variables |
| # extraEnvVars: | |
| # - name: EXTRA_VAR |
| # value: "extra" |
| |
| # Optionally specify an array of imagePullSecrets. |
| # Secrets must be manually created in the namespace. |
| # ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod |
| # imagePullSecrets: |
| # - name: myRegistryKeySecretName |
| |
| ## Node selector |
| ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector |
| nodeSelector: {} |
| |
| ## Affinity |
| ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity |
| affinity: {} |
| |
| ## Tolerations for pod assignment |
| ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ |
| ## |
| tolerations: [] |
| |
| livenessProbe: |
| initialDelaySeconds: 30 |
| periodSeconds: 10 |
| timeoutSeconds: 5 |
| successThreshold: 1 |
| failureThreshold: 3 |
| |
| readinessProbe: |
| initialDelaySeconds: 5 |
| periodSeconds: 10 |
| timeoutSeconds: 1 |
| successThreshold: 1 |
| failureThreshold: 3 |
| |
| ## Persist data to a persistent volume |
| persistence: |
| enabled: true |
| ## database data Persistent Volume Storage Class |
| ## If defined, storageClassName: <storageClass> |
| ## 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: "-" |
| accessMode: ReadWriteOnce |
| size: 8Gi |
| annotations: {} |
| |
| ## Use an alternate scheduler, e.g. "stork". |
| ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ |
| ## |
| # schedulerName: |
| |
| ## Security context |
| securityContext: |
| enabled: false |
| runAsUser: 999 |
| fsGroup: 999 |
| |
| ## Configure resource requests and limits |
| ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ |
| ## |
| resources: |
| requests: |
| memory: 256Mi |
| cpu: 100m |
| |
| # Custom mysql configuration files path |
| configurationFilesPath: /etc/mysql/conf.d/ |
| |
| # Custom mysql configuration files used to override default mysql settings |
| configurationFiles: {} |
| # mysql.cnf: |- |
| # [mysqld] |
| # skip-name-resolve |
| # ssl-ca=/ssl/ca.pem |
| # ssl-cert=/ssl/server-cert.pem |
| # ssl-key=/ssl/server-key.pem |
| |
| # Custom mysql init SQL files used to initialize the database |
| initializationFiles: {} |
| # first-db.sql: |- |
| # CREATE DATABASE IF NOT EXISTS first DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; |
| # second-db.sql: |- |
| # CREATE DATABASE IF NOT EXISTS second DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; |
| |
| # To enaable the mysql X Protocol's port |
| # .. will expose the port 33060 |
| # .. Note the X Plugin needs installation |
| # ref: https://dev.mysql.com/doc/refman/8.0/en/x-plugin-checking-installation.html |
| mysqlx: |
| port: |
| enabled: false |
| |
| metrics: |
| enabled: false |
| image: prom/mysqld-exporter |
| imageTag: v0.10.0 |
| imagePullPolicy: IfNotPresent |
| resources: {} |
| annotations: {} |
| # prometheus.io/scrape: "true" |
| # prometheus.io/port: "9104" |
| livenessProbe: |
| initialDelaySeconds: 15 |
| timeoutSeconds: 5 |
| readinessProbe: |
| initialDelaySeconds: 5 |
| timeoutSeconds: 1 |
| flags: [] |
| serviceMonitor: |
| enabled: false |
| additionalLabels: {} |
| |
| ## Configure the service |
| ## ref: http://kubernetes.io/docs/user-guide/services/ |
| service: |
| annotations: {} |
| ## Specify a service type |
| ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services---service-types |
| type: ClusterIP |
| port: 3306 |
| # nodePort: 32000 |
| # loadBalancerIP: |
| |
| ## 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: |
| |
| ssl: |
| enabled: false |
| secret: mysql-ssl-certs |
| certificates: |
| # - name: mysql-ssl-certs |
| # ca: |- |
| # -----BEGIN CERTIFICATE----- |
| # ... |
| # -----END CERTIFICATE----- |
| # cert: |- |
| # -----BEGIN CERTIFICATE----- |
| # ... |
| # -----END CERTIFICATE----- |
| # key: |- |
| # -----BEGIN RSA PRIVATE KEY----- |
| # ... |
| # -----END RSA PRIVATE KEY----- |
| |
| ## Populates the 'TZ' system timezone environment variable |
| ## ref: https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html |
| ## |
| ## Default: nil (mysql will use image's default timezone, normally UTC) |
| ## Example: 'Australia/Sydney' |
| # timezone: |
| |
| # Deployment Annotations |
| deploymentAnnotations: {} |
| |
| # To be added to the database server pod(s) |
| podAnnotations: {} |
| podLabels: {} |
| |
| ## Set pod priorityClassName |
| # priorityClassName: {} |
| |
| |
| ## Init container resources defaults |
| initContainer: |
| resources: |
| requests: |
| memory: 10Mi |
| cpu: 10m |