diff --git a/addons/index.yaml b/addons/index.yaml
index f691f6c0..73a0ee20 100644
--- a/addons/index.yaml
+++ b/addons/index.yaml
@@ -3,8 +3,6 @@ entries:
   mysql-cluster:
     - version: 8.0
       description: " The world's most popular open source database cluster."
-    - version: 5.7
-      description: " The world's most popular open source database cluster."
   minio:
     - version: 2023
       description: "MinIO offers high-performance, S3 compatible object storage."
diff --git a/addons/minio/2023/chart/minio/.helmignore b/addons/minio/2023/chart/minio/.helmignore
index f0c13194..50af0317 100644
--- a/addons/minio/2023/chart/minio/.helmignore
+++ b/addons/minio/2023/chart/minio/.helmignore
@@ -19,3 +19,4 @@
 .project
 .idea/
 *.tmproj
+.vscode/
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/.helmignore b/addons/mysql-cluster/5.7/chart/mysql-cluster/.helmignore
deleted file mode 100644
index f0c13194..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/Chart.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/Chart.yaml
deleted file mode 100644
index 69b90956..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/Chart.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-annotations:
-  category: Database
-apiVersion: v2
-appVersion: 8.0.30
-dependencies:
-  - name: common
-    repository: https://charts.bitnami.com/bitnami
-    tags:
-      - bitnami-common
-    version: 2.x.x
-description: MySQL is a fast, reliable, scalable, and easy to use open source relational database system. Designed to handle mission-critical, heavy-load production applications.
-engine: gotpl
-home: https://github.com/bitnami/charts/tree/master/bitnami/mysql
-icon: https://bitnami.com/assets/stacks/mysql/img/mysql-stack-220x234.png
-keywords:
-  - mysql
-  - database
-  - sql
-  - cluster
-  - high availability
-maintainers:
-  - name: Bitnami
-    url: https://github.com/bitnami/charts
-name: mysql
-sources:
-  - https://github.com/bitnami/containers/tree/main/bitnami/mysql
-  - https://mysql.com
-version: 9.3.5
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/README.md b/addons/mysql-cluster/5.7/chart/mysql-cluster/README.md
deleted file mode 100644
index c44f6211..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/README.md
+++ /dev/null
@@ -1,547 +0,0 @@
-<!--- app-name: MySQL -->
-
-# MySQL packaged by Bitnami
-
-MySQL is a fast, reliable, scalable, and easy to use open source relational database system. Designed to handle mission-critical, heavy-load production applications.
-
-[Overview of MySQL](http://www.mysql.com)
-
-Trademarks: This software listing is packaged by Bitnami. The respective trademarks mentioned in the offering are owned by the respective companies, and use of them does not imply any affiliation or endorsement.
-                           
-## TL;DR
-
-```bash
-$ helm repo add my-repo https://charts.bitnami.com/bitnami
-$ helm install my-release my-repo/mysql
-```
-
-## Introduction
-
-This chart bootstraps a [MySQL](https://github.com/bitnami/containers/tree/main/bitnami/mysql) replication cluster deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
-
-Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment and management of Helm Charts in clusters.
-
-## Prerequisites
-
-- Kubernetes 1.19+
-- Helm 3.2.0+
-- PV provisioner support in the underlying infrastructure
-
-## Installing the Chart
-
-To install the chart with the release name `my-release`:
-
-```bash
-$ helm repo add my-repo https://charts.bitnami.com/bitnami
-$ helm install my-release my-repo/mysql
-```
-
-These commands deploy MySQL on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation.
-
-> **Tip**: List all releases using `helm list`
-
-## Uninstalling the Chart
-
-To uninstall/delete the `my-release` deployment:
-
-```bash
-$ helm delete my-release
-```
-
-The command removes all the Kubernetes components associated with the chart and deletes the release.
-
-## Parameters
-
-### Global parameters
-
-| Name                      | Description                                     | Value |
-| ------------------------- | ----------------------------------------------- | ----- |
-| `global.imageRegistry`    | Global Docker image registry                    | `""`  |
-| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]`  |
-| `global.storageClass`     | Global StorageClass for Persistent Volume(s)    | `""`  |
-
-
-### Common parameters
-
-| Name                     | Description                                                                                               | Value           |
-| ------------------------ | --------------------------------------------------------------------------------------------------------- | --------------- |
-| `kubeVersion`            | Force target Kubernetes version (using Helm capabilities if not set)                                      | `""`            |
-| `nameOverride`           | String to partially override common.names.fullname template (will maintain the release name)              | `""`            |
-| `fullnameOverride`       | String to fully override common.names.fullname template                                                   | `""`            |
-| `namespaceOverride`      | String to fully override common.names.namespace                                                           | `""`            |
-| `clusterDomain`          | Cluster domain                                                                                            | `cluster.local` |
-| `commonAnnotations`      | Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template | `{}`            |
-| `commonLabels`           | Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template      | `{}`            |
-| `extraDeploy`            | Array with extra yaml to deploy with the chart. Evaluated as a template                                   | `[]`            |
-| `diagnosticMode.enabled` | Enable diagnostic mode (all probes will be disabled and the command will be overridden)                   | `false`         |
-| `diagnosticMode.command` | Command to override all containers in the deployment                                                      | `["sleep"]`     |
-| `diagnosticMode.args`    | Args to override all containers in the deployment                                                         | `["infinity"]`  |
-
-
-### MySQL common parameters
-
-| Name                       | Description                                                                                                                                                                         | Value                  |
-| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
-| `image.registry`           | MySQL image registry                                                                                                                                                                | `docker.io`            |
-| `image.repository`         | MySQL image repository                                                                                                                                                              | `bitnami/mysql`        |
-| `image.tag`                | MySQL image tag (immutable tags are recommended)                                                                                                                                    | `8.0.30-debian-11-r27` |
-| `image.digest`             | MySQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag                                                                               | `""`                   |
-| `image.pullPolicy`         | MySQL image pull policy                                                                                                                                                             | `IfNotPresent`         |
-| `image.pullSecrets`        | Specify docker-registry secret names as an array                                                                                                                                    | `[]`                   |
-| `image.debug`              | Specify if debug logs should be enabled                                                                                                                                             | `false`                |
-| `architecture`             | MySQL architecture (`standalone` or `replication`)                                                                                                                                  | `standalone`           |
-| `auth.rootPassword`        | Password for the `root` user. Ignored if existing secret is provided                                                                                                                | `""`                   |
-| `auth.createDatabase`      | Wheter to create the .Values.auth.database or not                                                                                                                                   | `true`                 |
-| `auth.database`            | Name for a custom database to create                                                                                                                                                | `my_database`          |
-| `auth.username`            | Name for a custom user to create                                                                                                                                                    | `""`                   |
-| `auth.password`            | Password for the new user. Ignored if existing secret is provided                                                                                                                   | `""`                   |
-| `auth.replicationUser`     | MySQL replication user                                                                                                                                                              | `replicator`           |
-| `auth.replicationPassword` | MySQL replication user password. Ignored if existing secret is provided                                                                                                             | `""`                   |
-| `auth.existingSecret`      | Use existing secret for password details. The secret has to contain the keys `mysql-root-password`, `mysql-replication-password` and `mysql-password`                               | `""`                   |
-| `auth.usePasswordFiles`    | Mount credentials as files instead of using an environment variable                                                                                                                 | `false`                |
-| `auth.customPasswordFiles` | Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication` | `{}`                   |
-| `initdbScripts`            | Dictionary of initdb scripts                                                                                                                                                        | `{}`                   |
-| `initdbScriptsConfigMap`   | ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)                                                                                                                 | `""`                   |
-
-
-### MySQL Primary parameters
-
-| Name                                            | Description                                                                                                     | Value               |
-| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------- |
-| `primary.name`                                  | Name of the primary database (eg primary, master, leader, ...)                                                  | `primary`           |
-| `primary.command`                               | Override default container command on MySQL Primary container(s) (useful when using custom images)              | `[]`                |
-| `primary.args`                                  | Override default container args on MySQL Primary container(s) (useful when using custom images)                 | `[]`                |
-| `primary.lifecycleHooks`                        | for the MySQL Primary container(s) to automate configuration before or after startup                            | `{}`                |
-| `primary.hostAliases`                           | Deployment pod host aliases                                                                                     | `[]`                |
-| `primary.configuration`                         | Configure MySQL Primary with a custom my.cnf file                                                               | `""`                |
-| `primary.existingConfigmap`                     | Name of existing ConfigMap with MySQL Primary configuration.                                                    | `""`                |
-| `primary.updateStrategy.type`                   | Update strategy type for the MySQL primary statefulset                                                          | `RollingUpdate`     |
-| `primary.podAnnotations`                        | Additional pod annotations for MySQL primary pods                                                               | `{}`                |
-| `primary.podAffinityPreset`                     | MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`       | `""`                |
-| `primary.podAntiAffinityPreset`                 | MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`  | `soft`              |
-| `primary.nodeAffinityPreset.type`               | MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard` | `""`                |
-| `primary.nodeAffinityPreset.key`                | MySQL primary node label key to match Ignored if `primary.affinity` is set.                                     | `""`                |
-| `primary.nodeAffinityPreset.values`             | MySQL primary node label values to match. Ignored if `primary.affinity` is set.                                 | `[]`                |
-| `primary.affinity`                              | Affinity for MySQL primary pods assignment                                                                      | `{}`                |
-| `primary.nodeSelector`                          | Node labels for MySQL primary pods assignment                                                                   | `{}`                |
-| `primary.tolerations`                           | Tolerations for MySQL primary pods assignment                                                                   | `[]`                |
-| `primary.priorityClassName`                     | MySQL primary pods' priorityClassName                                                                           | `""`                |
-| `primary.schedulerName`                         | Name of the k8s scheduler (other than default)                                                                  | `""`                |
-| `primary.terminationGracePeriodSeconds`         | In seconds, time the given to the MySQL primary pod needs to terminate gracefully                               | `""`                |
-| `primary.topologySpreadConstraints`             | Topology Spread Constraints for pod assignment                                                                  | `[]`                |
-| `primary.podManagementPolicy`                   | podManagementPolicy to manage scaling operation of MySQL primary pods                                           | `""`                |
-| `primary.podSecurityContext.enabled`            | Enable security context for MySQL primary pods                                                                  | `true`              |
-| `primary.podSecurityContext.fsGroup`            | Group ID for the mounted volumes' filesystem                                                                    | `1001`              |
-| `primary.containerSecurityContext.enabled`      | MySQL primary container securityContext                                                                         | `true`              |
-| `primary.containerSecurityContext.runAsUser`    | User ID for the MySQL primary container                                                                         | `1001`              |
-| `primary.containerSecurityContext.runAsNonRoot` | Set MySQL primary container's Security Context runAsNonRoot                                                     | `true`              |
-| `primary.resources.limits`                      | The resources limits for MySQL primary containers                                                               | `{}`                |
-| `primary.resources.requests`                    | The requested resources for MySQL primary containers                                                            | `{}`                |
-| `primary.livenessProbe.enabled`                 | Enable livenessProbe                                                                                            | `true`              |
-| `primary.livenessProbe.initialDelaySeconds`     | Initial delay seconds for livenessProbe                                                                         | `5`                 |
-| `primary.livenessProbe.periodSeconds`           | Period seconds for livenessProbe                                                                                | `10`                |
-| `primary.livenessProbe.timeoutSeconds`          | Timeout seconds for livenessProbe                                                                               | `1`                 |
-| `primary.livenessProbe.failureThreshold`        | Failure threshold for livenessProbe                                                                             | `3`                 |
-| `primary.livenessProbe.successThreshold`        | Success threshold for livenessProbe                                                                             | `1`                 |
-| `primary.readinessProbe.enabled`                | Enable readinessProbe                                                                                           | `true`              |
-| `primary.readinessProbe.initialDelaySeconds`    | Initial delay seconds for readinessProbe                                                                        | `5`                 |
-| `primary.readinessProbe.periodSeconds`          | Period seconds for readinessProbe                                                                               | `10`                |
-| `primary.readinessProbe.timeoutSeconds`         | Timeout seconds for readinessProbe                                                                              | `1`                 |
-| `primary.readinessProbe.failureThreshold`       | Failure threshold for readinessProbe                                                                            | `3`                 |
-| `primary.readinessProbe.successThreshold`       | Success threshold for readinessProbe                                                                            | `1`                 |
-| `primary.startupProbe.enabled`                  | Enable startupProbe                                                                                             | `true`              |
-| `primary.startupProbe.initialDelaySeconds`      | Initial delay seconds for startupProbe                                                                          | `15`                |
-| `primary.startupProbe.periodSeconds`            | Period seconds for startupProbe                                                                                 | `10`                |
-| `primary.startupProbe.timeoutSeconds`           | Timeout seconds for startupProbe                                                                                | `1`                 |
-| `primary.startupProbe.failureThreshold`         | Failure threshold for startupProbe                                                                              | `10`                |
-| `primary.startupProbe.successThreshold`         | Success threshold for startupProbe                                                                              | `1`                 |
-| `primary.customLivenessProbe`                   | Override default liveness probe for MySQL primary containers                                                    | `{}`                |
-| `primary.customReadinessProbe`                  | Override default readiness probe for MySQL primary containers                                                   | `{}`                |
-| `primary.customStartupProbe`                    | Override default startup probe for MySQL primary containers                                                     | `{}`                |
-| `primary.extraFlags`                            | MySQL primary additional command line flags                                                                     | `""`                |
-| `primary.extraEnvVars`                          | Extra environment variables to be set on MySQL primary containers                                               | `[]`                |
-| `primary.extraEnvVarsCM`                        | Name of existing ConfigMap containing extra env vars for MySQL primary containers                               | `""`                |
-| `primary.extraEnvVarsSecret`                    | Name of existing Secret containing extra env vars for MySQL primary containers                                  | `""`                |
-| `primary.persistence.enabled`                   | Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir            | `true`              |
-| `primary.persistence.existingClaim`             | Name of an existing `PersistentVolumeClaim` for MySQL primary replicas                                          | `""`                |
-| `primary.persistence.storageClass`              | MySQL primary persistent volume storage Class                                                                   | `""`                |
-| `primary.persistence.annotations`               | MySQL primary persistent volume claim annotations                                                               | `{}`                |
-| `primary.persistence.accessModes`               | MySQL primary persistent volume access Modes                                                                    | `["ReadWriteOnce"]` |
-| `primary.persistence.size`                      | MySQL primary persistent volume size                                                                            | `8Gi`               |
-| `primary.persistence.selector`                  | Selector to match an existing Persistent Volume                                                                 | `{}`                |
-| `primary.extraVolumes`                          | Optionally specify extra list of additional volumes to the MySQL Primary pod(s)                                 | `[]`                |
-| `primary.extraVolumeMounts`                     | Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s)                     | `[]`                |
-| `primary.initContainers`                        | Add additional init containers for the MySQL Primary pod(s)                                                     | `[]`                |
-| `primary.sidecars`                              | Add additional sidecar containers for the MySQL Primary pod(s)                                                  | `[]`                |
-| `primary.service.type`                          | MySQL Primary K8s service type                                                                                  | `ClusterIP`         |
-| `primary.service.ports.mysql`                   | MySQL Primary K8s service port                                                                                  | `3306`              |
-| `primary.service.nodePorts.mysql`               | MySQL Primary K8s service node port                                                                             | `""`                |
-| `primary.service.clusterIP`                     | MySQL Primary K8s service clusterIP IP                                                                          | `""`                |
-| `primary.service.loadBalancerIP`                | MySQL Primary loadBalancerIP if service type is `LoadBalancer`                                                  | `""`                |
-| `primary.service.externalTrafficPolicy`         | Enable client source IP preservation                                                                            | `Cluster`           |
-| `primary.service.loadBalancerSourceRanges`      | Addresses that are allowed when MySQL Primary service is LoadBalancer                                           | `[]`                |
-| `primary.service.extraPorts`                    | Extra ports to expose (normally used with the `sidecar` value)                                                  | `[]`                |
-| `primary.service.annotations`                   | Additional custom annotations for MySQL primary service                                                         | `{}`                |
-| `primary.service.sessionAffinity`               | Session Affinity for Kubernetes service, can be "None" or "ClientIP"                                            | `None`              |
-| `primary.service.sessionAffinityConfig`         | Additional settings for the sessionAffinity                                                                     | `{}`                |
-| `primary.pdb.create`                            | Enable/disable a Pod Disruption Budget creation for MySQL primary pods                                          | `false`             |
-| `primary.pdb.minAvailable`                      | Minimum number/percentage of MySQL primary pods that should remain scheduled                                    | `1`                 |
-| `primary.pdb.maxUnavailable`                    | Maximum number/percentage of MySQL primary pods that may be made unavailable                                    | `""`                |
-| `primary.podLabels`                             | MySQL Primary pod label. If labels are same as commonLabels , this will take precedence                         | `{}`                |
-
-
-### MySQL Secondary parameters
-
-| Name                                              | Description                                                                                                         | Value               |
-| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------- |
-| `secondary.name`                                  | Name of the secondary database (eg secondary, slave, ...)                                                           | `secondary`         |
-| `secondary.replicaCount`                          | Number of MySQL secondary replicas                                                                                  | `1`                 |
-| `secondary.hostAliases`                           | Deployment pod host aliases                                                                                         | `[]`                |
-| `secondary.command`                               | Override default container command on MySQL Secondary container(s) (useful when using custom images)                | `[]`                |
-| `secondary.args`                                  | Override default container args on MySQL Secondary container(s) (useful when using custom images)                   | `[]`                |
-| `secondary.lifecycleHooks`                        | for the MySQL Secondary container(s) to automate configuration before or after startup                              | `{}`                |
-| `secondary.configuration`                         | Configure MySQL Secondary with a custom my.cnf file                                                                 | `""`                |
-| `secondary.existingConfigmap`                     | Name of existing ConfigMap with MySQL Secondary configuration.                                                      | `""`                |
-| `secondary.updateStrategy.type`                   | Update strategy type for the MySQL secondary statefulset                                                            | `RollingUpdate`     |
-| `secondary.podAnnotations`                        | Additional pod annotations for MySQL secondary pods                                                                 | `{}`                |
-| `secondary.podAffinityPreset`                     | MySQL secondary pod affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`       | `""`                |
-| `secondary.podAntiAffinityPreset`                 | MySQL secondary pod anti-affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`  | `soft`              |
-| `secondary.nodeAffinityPreset.type`               | MySQL secondary node affinity preset type. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard` | `""`                |
-| `secondary.nodeAffinityPreset.key`                | MySQL secondary node label key to match Ignored if `secondary.affinity` is set.                                     | `""`                |
-| `secondary.nodeAffinityPreset.values`             | MySQL secondary node label values to match. Ignored if `secondary.affinity` is set.                                 | `[]`                |
-| `secondary.affinity`                              | Affinity for MySQL secondary pods assignment                                                                        | `{}`                |
-| `secondary.nodeSelector`                          | Node labels for MySQL secondary pods assignment                                                                     | `{}`                |
-| `secondary.tolerations`                           | Tolerations for MySQL secondary pods assignment                                                                     | `[]`                |
-| `secondary.priorityClassName`                     | MySQL secondary pods' priorityClassName                                                                             | `""`                |
-| `secondary.schedulerName`                         | Name of the k8s scheduler (other than default)                                                                      | `""`                |
-| `secondary.terminationGracePeriodSeconds`         | In seconds, time the given to the MySQL secondary pod needs to terminate gracefully                                 | `""`                |
-| `secondary.topologySpreadConstraints`             | Topology Spread Constraints for pod assignment                                                                      | `[]`                |
-| `secondary.podManagementPolicy`                   | podManagementPolicy to manage scaling operation of MySQL secondary pods                                             | `""`                |
-| `secondary.podSecurityContext.enabled`            | Enable security context for MySQL secondary pods                                                                    | `true`              |
-| `secondary.podSecurityContext.fsGroup`            | Group ID for the mounted volumes' filesystem                                                                        | `1001`              |
-| `secondary.containerSecurityContext.enabled`      | MySQL secondary container securityContext                                                                           | `true`              |
-| `secondary.containerSecurityContext.runAsUser`    | User ID for the MySQL secondary container                                                                           | `1001`              |
-| `secondary.containerSecurityContext.runAsNonRoot` | Set MySQL secondary container's Security Context runAsNonRoot                                                       | `true`              |
-| `secondary.resources.limits`                      | The resources limits for MySQL secondary containers                                                                 | `{}`                |
-| `secondary.resources.requests`                    | The requested resources for MySQL secondary containers                                                              | `{}`                |
-| `secondary.livenessProbe.enabled`                 | Enable livenessProbe                                                                                                | `true`              |
-| `secondary.livenessProbe.initialDelaySeconds`     | Initial delay seconds for livenessProbe                                                                             | `5`                 |
-| `secondary.livenessProbe.periodSeconds`           | Period seconds for livenessProbe                                                                                    | `10`                |
-| `secondary.livenessProbe.timeoutSeconds`          | Timeout seconds for livenessProbe                                                                                   | `1`                 |
-| `secondary.livenessProbe.failureThreshold`        | Failure threshold for livenessProbe                                                                                 | `3`                 |
-| `secondary.livenessProbe.successThreshold`        | Success threshold for livenessProbe                                                                                 | `1`                 |
-| `secondary.readinessProbe.enabled`                | Enable readinessProbe                                                                                               | `true`              |
-| `secondary.readinessProbe.initialDelaySeconds`    | Initial delay seconds for readinessProbe                                                                            | `5`                 |
-| `secondary.readinessProbe.periodSeconds`          | Period seconds for readinessProbe                                                                                   | `10`                |
-| `secondary.readinessProbe.timeoutSeconds`         | Timeout seconds for readinessProbe                                                                                  | `1`                 |
-| `secondary.readinessProbe.failureThreshold`       | Failure threshold for readinessProbe                                                                                | `3`                 |
-| `secondary.readinessProbe.successThreshold`       | Success threshold for readinessProbe                                                                                | `1`                 |
-| `secondary.startupProbe.enabled`                  | Enable startupProbe                                                                                                 | `true`              |
-| `secondary.startupProbe.initialDelaySeconds`      | Initial delay seconds for startupProbe                                                                              | `15`                |
-| `secondary.startupProbe.periodSeconds`            | Period seconds for startupProbe                                                                                     | `10`                |
-| `secondary.startupProbe.timeoutSeconds`           | Timeout seconds for startupProbe                                                                                    | `1`                 |
-| `secondary.startupProbe.failureThreshold`         | Failure threshold for startupProbe                                                                                  | `15`                |
-| `secondary.startupProbe.successThreshold`         | Success threshold for startupProbe                                                                                  | `1`                 |
-| `secondary.customLivenessProbe`                   | Override default liveness probe for MySQL secondary containers                                                      | `{}`                |
-| `secondary.customReadinessProbe`                  | Override default readiness probe for MySQL secondary containers                                                     | `{}`                |
-| `secondary.customStartupProbe`                    | Override default startup probe for MySQL secondary containers                                                       | `{}`                |
-| `secondary.extraFlags`                            | MySQL secondary additional command line flags                                                                       | `""`                |
-| `secondary.extraEnvVars`                          | An array to add extra environment variables on MySQL secondary containers                                           | `[]`                |
-| `secondary.extraEnvVarsCM`                        | Name of existing ConfigMap containing extra env vars for MySQL secondary containers                                 | `""`                |
-| `secondary.extraEnvVarsSecret`                    | Name of existing Secret containing extra env vars for MySQL secondary containers                                    | `""`                |
-| `secondary.persistence.enabled`                   | Enable persistence on MySQL secondary replicas using a `PersistentVolumeClaim`                                      | `true`              |
-| `secondary.persistence.storageClass`              | MySQL secondary persistent volume storage Class                                                                     | `""`                |
-| `secondary.persistence.annotations`               | MySQL secondary persistent volume claim annotations                                                                 | `{}`                |
-| `secondary.persistence.accessModes`               | MySQL secondary persistent volume access Modes                                                                      | `["ReadWriteOnce"]` |
-| `secondary.persistence.size`                      | MySQL secondary persistent volume size                                                                              | `8Gi`               |
-| `secondary.persistence.selector`                  | Selector to match an existing Persistent Volume                                                                     | `{}`                |
-| `secondary.extraVolumes`                          | Optionally specify extra list of additional volumes to the MySQL secondary pod(s)                                   | `[]`                |
-| `secondary.extraVolumeMounts`                     | Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s)                       | `[]`                |
-| `secondary.initContainers`                        | Add additional init containers for the MySQL secondary pod(s)                                                       | `[]`                |
-| `secondary.sidecars`                              | Add additional sidecar containers for the MySQL secondary pod(s)                                                    | `[]`                |
-| `secondary.service.type`                          | MySQL secondary Kubernetes service type                                                                             | `ClusterIP`         |
-| `secondary.service.ports.mysql`                   | MySQL secondary Kubernetes service port                                                                             | `3306`              |
-| `secondary.service.nodePorts.mysql`               | MySQL secondary Kubernetes service node port                                                                        | `""`                |
-| `secondary.service.clusterIP`                     | MySQL secondary Kubernetes service clusterIP IP                                                                     | `""`                |
-| `secondary.service.loadBalancerIP`                | MySQL secondary loadBalancerIP if service type is `LoadBalancer`                                                    | `""`                |
-| `secondary.service.externalTrafficPolicy`         | Enable client source IP preservation                                                                                | `Cluster`           |
-| `secondary.service.loadBalancerSourceRanges`      | Addresses that are allowed when MySQL secondary service is LoadBalancer                                             | `[]`                |
-| `secondary.service.extraPorts`                    | Extra ports to expose (normally used with the `sidecar` value)                                                      | `[]`                |
-| `secondary.service.annotations`                   | Additional custom annotations for MySQL secondary service                                                           | `{}`                |
-| `secondary.service.sessionAffinity`               | Session Affinity for Kubernetes service, can be "None" or "ClientIP"                                                | `None`              |
-| `secondary.service.sessionAffinityConfig`         | Additional settings for the sessionAffinity                                                                         | `{}`                |
-| `secondary.pdb.create`                            | Enable/disable a Pod Disruption Budget creation for MySQL secondary pods                                            | `false`             |
-| `secondary.pdb.minAvailable`                      | Minimum number/percentage of MySQL secondary pods that should remain scheduled                                      | `1`                 |
-| `secondary.pdb.maxUnavailable`                    | Maximum number/percentage of MySQL secondary pods that may be made unavailable                                      | `""`                |
-| `secondary.podLabels`                             | Additional pod labels for MySQL secondary pods                                                                      | `{}`                |
-
-
-### RBAC parameters
-
-| Name                                          | Description                                                    | Value   |
-| --------------------------------------------- | -------------------------------------------------------------- | ------- |
-| `serviceAccount.create`                       | Enable the creation of a ServiceAccount for MySQL pods         | `true`  |
-| `serviceAccount.name`                         | Name of the created ServiceAccount                             | `""`    |
-| `serviceAccount.annotations`                  | Annotations for MySQL Service Account                          | `{}`    |
-| `serviceAccount.automountServiceAccountToken` | Automount service account token for the server service account | `true`  |
-| `rbac.create`                                 | Whether to create & use RBAC resources or not                  | `false` |
-| `rbac.rules`                                  | Custom RBAC rules to set                                       | `[]`    |
-
-
-### Network Policy
-
-| Name                                       | Description                                                                                                     | Value   |
-| ------------------------------------------ | --------------------------------------------------------------------------------------------------------------- | ------- |
-| `networkPolicy.enabled`                    | Enable creation of NetworkPolicy resources                                                                      | `false` |
-| `networkPolicy.allowExternal`              | The Policy model to apply.                                                                                      | `true`  |
-| `networkPolicy.explicitNamespacesSelector` | A Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed to MySQL | `{}`    |
-
-
-### Volume Permissions parameters
-
-| Name                                  | Description                                                                                                                       | Value                   |
-| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
-| `volumePermissions.enabled`           | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup`              | `false`                 |
-| `volumePermissions.image.registry`    | Init container volume-permissions image registry                                                                                  | `docker.io`             |
-| `volumePermissions.image.repository`  | Init container volume-permissions image repository                                                                                | `bitnami/bitnami-shell` |
-| `volumePermissions.image.tag`         | Init container volume-permissions image tag (immutable tags are recommended)                                                      | `11-debian-11-r39`      |
-| `volumePermissions.image.digest`      | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""`                    |
-| `volumePermissions.image.pullPolicy`  | Init container volume-permissions image pull policy                                                                               | `IfNotPresent`          |
-| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array                                                                                  | `[]`                    |
-| `volumePermissions.resources`         | Init container volume-permissions resources                                                                                       | `{}`                    |
-
-
-### Metrics parameters
-
-| Name                                         | Description                                                                                                                    | Value                     |
-| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------- |
-| `metrics.enabled`                            | Start a side-car prometheus exporter                                                                                           | `false`                   |
-| `metrics.image.registry`                     | Exporter image registry                                                                                                        | `docker.io`               |
-| `metrics.image.repository`                   | Exporter image repository                                                                                                      | `bitnami/mysqld-exporter` |
-| `metrics.image.tag`                          | Exporter image tag (immutable tags are recommended)                                                                            | `0.14.0-debian-11-r45`    |
-| `metrics.image.digest`                       | Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag                       | `""`                      |
-| `metrics.image.pullPolicy`                   | Exporter image pull policy                                                                                                     | `IfNotPresent`            |
-| `metrics.image.pullSecrets`                  | Specify docker-registry secret names as an array                                                                               | `[]`                      |
-| `metrics.service.type`                       | Kubernetes service type for MySQL Prometheus Exporter                                                                          | `ClusterIP`               |
-| `metrics.service.port`                       | MySQL Prometheus Exporter service port                                                                                         | `9104`                    |
-| `metrics.service.annotations`                | Prometheus exporter service annotations                                                                                        | `{}`                      |
-| `metrics.extraArgs.primary`                  | Extra args to be passed to mysqld_exporter on Primary pods                                                                     | `[]`                      |
-| `metrics.extraArgs.secondary`                | Extra args to be passed to mysqld_exporter on Secondary pods                                                                   | `[]`                      |
-| `metrics.resources.limits`                   | The resources limits for MySQL prometheus exporter containers                                                                  | `{}`                      |
-| `metrics.resources.requests`                 | The requested resources for MySQL prometheus exporter containers                                                               | `{}`                      |
-| `metrics.livenessProbe.enabled`              | Enable livenessProbe                                                                                                           | `true`                    |
-| `metrics.livenessProbe.initialDelaySeconds`  | Initial delay seconds for livenessProbe                                                                                        | `120`                     |
-| `metrics.livenessProbe.periodSeconds`        | Period seconds for livenessProbe                                                                                               | `10`                      |
-| `metrics.livenessProbe.timeoutSeconds`       | Timeout seconds for livenessProbe                                                                                              | `1`                       |
-| `metrics.livenessProbe.failureThreshold`     | Failure threshold for livenessProbe                                                                                            | `3`                       |
-| `metrics.livenessProbe.successThreshold`     | Success threshold for livenessProbe                                                                                            | `1`                       |
-| `metrics.readinessProbe.enabled`             | Enable readinessProbe                                                                                                          | `true`                    |
-| `metrics.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe                                                                                       | `30`                      |
-| `metrics.readinessProbe.periodSeconds`       | Period seconds for readinessProbe                                                                                              | `10`                      |
-| `metrics.readinessProbe.timeoutSeconds`      | Timeout seconds for readinessProbe                                                                                             | `1`                       |
-| `metrics.readinessProbe.failureThreshold`    | Failure threshold for readinessProbe                                                                                           | `3`                       |
-| `metrics.readinessProbe.successThreshold`    | Success threshold for readinessProbe                                                                                           | `1`                       |
-| `metrics.serviceMonitor.enabled`             | Create ServiceMonitor Resource for scraping metrics using PrometheusOperator                                                   | `false`                   |
-| `metrics.serviceMonitor.namespace`           | Specify the namespace in which the serviceMonitor resource will be created                                                     | `""`                      |
-| `metrics.serviceMonitor.jobLabel`            | The name of the label on the target service to use as the job name in prometheus.                                              | `""`                      |
-| `metrics.serviceMonitor.interval`            | Specify the interval at which metrics should be scraped                                                                        | `30s`                     |
-| `metrics.serviceMonitor.scrapeTimeout`       | Specify the timeout after which the scrape is ended                                                                            | `""`                      |
-| `metrics.serviceMonitor.relabelings`         | RelabelConfigs to apply to samples before scraping                                                                             | `[]`                      |
-| `metrics.serviceMonitor.metricRelabelings`   | MetricRelabelConfigs to apply to samples before ingestion                                                                      | `[]`                      |
-| `metrics.serviceMonitor.selector`            | ServiceMonitor selector labels                                                                                                 | `{}`                      |
-| `metrics.serviceMonitor.honorLabels`         | Specify honorLabels parameter to add the scrape endpoint                                                                       | `false`                   |
-| `metrics.serviceMonitor.labels`              | Used to pass Labels that are used by the Prometheus installed in your cluster to select Service Monitors to work with          | `{}`                      |
-| `metrics.serviceMonitor.annotations`         | ServiceMonitor annotations                                                                                                     | `{}`                      |
-| `metrics.prometheusRule.enabled`             | Creates a Prometheus Operator prometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`) | `false`                   |
-| `metrics.prometheusRule.namespace`           | Namespace for the prometheusRule Resource (defaults to the Release Namespace)                                                  | `""`                      |
-| `metrics.prometheusRule.additionalLabels`    | Additional labels that can be used so prometheusRule will be discovered by Prometheus                                          | `{}`                      |
-| `metrics.prometheusRule.rules`               | Prometheus Rule definitions                                                                                                    | `[]`                      |
-
-
-The above parameters map to the env variables defined in [bitnami/mysql](https://github.com/bitnami/containers/tree/main/bitnami/mysql). For more information please refer to the [bitnami/mysql](https://github.com/bitnami/containers/tree/main/bitnami/mysql) image documentation.
-
-Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
-
-```bash
-$ helm install my-release \
-  --set auth.rootPassword=secretpassword,auth.database=app_database \
-    my-repo/mysql
-```
-
-The above command sets the MySQL `root` account password to `secretpassword`. Additionally it creates a database named `app_database`.
-
-> NOTE: Once this chart is deployed, it is not possible to change the application's access credentials, such as usernames or passwords, using Helm. To change these application credentials after deployment, delete any persistent volumes (PVs) used by the chart and re-deploy it, or use the application's built-in administrative tools if available.
-
-Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
-
-```bash
-$ helm install my-release -f values.yaml my-repo/mysql
-```
-
-> **Tip**: You can use the default [values.yaml](values.yaml)
-
-## Configuration and installation details
-
-### [Rolling VS Immutable tags](https://docs.bitnami.com/containers/how-to/understand-rolling-tags-containers/)
-
-It is strongly recommended to use immutable tags in a production environment. This ensures your deployment does not change automatically if the same tag is updated with a different image.
-
-Bitnami will release a new chart updating its containers if a new version of the main container, significant changes, or critical vulnerabilities exist.
-
-### Use a different MySQL version
-
-To modify the application version used in this chart, specify a different version of the image using the `image.tag` parameter and/or a different repository using the `image.repository` parameter. Refer to the [chart documentation for more information on these parameters and how to use them with images from a private registry](https://docs.bitnami.com/kubernetes/infrastructure/mysql/configuration/change-image-version/).
-
-### Customize a new MySQL instance
-
-The [Bitnami MySQL](https://github.com/bitnami/containers/tree/main/bitnami/mysql) image allows you to use your custom scripts to initialize a fresh instance. Custom scripts may be specified using the `initdbScripts` parameter. Alternatively, an external ConfigMap may be created with all the initialization scripts and the ConfigMap passed to the chart via the `initdbScriptsConfigMap` parameter. Note that this will override the `initdbScripts` parameter.
-
-The allowed extensions are `.sh`, `.sql` and `.sql.gz`.
-
-These scripts are treated differently depending on their extension. While `.sh` scripts are executed on all the nodes, `.sql` and `.sql.gz` scripts are only executed on the primary nodes. This is because `.sh` scripts support conditional tests to identify the type of node they are running on, while such tests are not supported in `.sql` or `sql.gz` files.
-
-Refer to the [chart documentation for more information and a usage example](http://docs.bitnami.com/kubernetes/infrastructure/mysql/configuration/customize-new-instance/).
-
-### Sidecars and Init Containers
-
-If you have a need for additional containers to run within the same pod as MySQL, you can do so via the `sidecars` config parameter. Simply define your container according to the Kubernetes container spec.
-
-```yaml
-sidecars:
-  - name: your-image-name
-    image: your-image
-    imagePullPolicy: Always
-    ports:
-      - name: portname
-       containerPort: 1234
-```
-
-Similarly, you can add extra init containers using the `initContainers` parameter.
-
-```yaml
-initContainers:
-  - name: your-image-name
-    image: your-image
-    imagePullPolicy: Always
-    ports:
-      - name: portname
-        containerPort: 1234
-```
-
-## Persistence
-
-The [Bitnami MySQL](https://github.com/bitnami/containers/tree/main/bitnami/mysql) image stores the MySQL data and configurations at the `/bitnami/mysql` path of the container.
-
-The chart mounts a [Persistent Volume](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) volume at this location. The volume is created using dynamic volume provisioning by default. An existing PersistentVolumeClaim can also be defined for this purpose.
-
-If you encounter errors when working with persistent volumes, refer to our [troubleshooting guide for persistent volumes](https://docs.bitnami.com/kubernetes/faq/troubleshooting/troubleshooting-persistence-volumes/).
-
-## Network Policy
-
-To enable network policy for MySQL, install [a networking plugin that implements the Kubernetes NetworkPolicy spec](https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy#before-you-begin), and set `networkPolicy.enabled` to `true`.
-
-For Kubernetes v1.5 & v1.6, you must also turn on NetworkPolicy by setting the DefaultDeny namespace annotation. Note: this will enforce policy for _all_ pods in the namespace:
-
-```console
-$ kubectl annotate namespace default "net.beta.kubernetes.io/network-policy={\"ingress\":{\"isolation\":\"DefaultDeny\"}}"
-```
-
-With NetworkPolicy enabled, traffic will be limited to just port 3306.
-
-For more precise policy, set `networkPolicy.allowExternal=false`. This will only allow pods with the generated client label to connect to MySQL.
-This label will be displayed in the output of a successful install.
-
-## Pod affinity
-
-This chart allows you to set your custom affinity using the `XXX.affinity` parameter(s). Find more information about Pod affinity in the [Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity).
-
-As an alternative, you can use the preset configurations for pod affinity, pod anti-affinity, and node affinity available at the [bitnami/common](https://github.com/bitnami/charts/tree/master/bitnami/common#affinities) chart. To do so, set the `XXX.podAffinityPreset`, `XXX.podAntiAffinityPreset`, or `XXX.nodeAffinityPreset` parameters.
-
-## Troubleshooting
-
-Find more information about how to deal with common errors related to Bitnami's Helm charts in [this troubleshooting guide](https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues).
-
-## Upgrading
-
-It's necessary to set the `auth.rootPassword` parameter when upgrading for readiness/liveness probes to work properly. When you install this chart for the first time, some notes will be displayed providing the credentials you must use under the 'Administrator credentials' section. Please note down the password and run the command below to upgrade your chart:
-
-```bash
-$ helm upgrade my-release my-repo/mysql --set auth.rootPassword=[ROOT_PASSWORD]
-```
-
-| Note: you need to substitute the placeholder _[ROOT_PASSWORD]_ with the value obtained in the installation notes.
-
-### To 9.0.0
-
-This major release renames several values in this chart and adds missing features, in order to be aligned with the rest of the assets in the Bitnami charts repository.
-
-Affected values:
-
-- `schedulerName` was renamed as `primary.schedulerName` and `secondary.schedulerName`.
-- The way how passwords are handled has been refactored and value `auth.forcePassword` has been removed. Now, the password configuration will have the following priority:
-  1. Search for an already existing 'Secret' resource and reuse previous password.
-  2. Password provided via the values.yaml
-  3. If no secret existed, and no password was provided, the bitnami/mysql chart will set a randomly generated password.
-- `primary.service.port` was renamed as `primary.service.ports.mysql`.
-- `secondary.service.port` was renamed as `secondary.service.ports.mysql`.
-- `primary.service.nodePort` was renamed as `primary.service.nodePorts.mysql`.
-- `secondary.service.nodePort` was renamed as `secondary.service.nodePorts.mysql`.
-- `primary.updateStrategy` and `secondary.updateStrategy` are now interpreted as an object and not a string.
-- Values `primary.rollingUpdatePartition` and `secondary.rollingUpdatePartition` have been removed. In cases were they are needed, they can be set inside `.*updateStrategy`.
-- `primary.pdb.enabled` was renamed as `primary.pdb.create`.
-- `secondary.pdb.enabled` was renamed as `secondary.pdb.create`.
-- `metrics.serviceMonitor.additionalLabels` was renamed as `metrics.serviceMonitor.labels`
-- `metrics.serviceMonitor.relabellings` was removed, previously used to configured `metricRelabelings` field. We introduced two new values: `metrics.serviceMonitor.relabelings` and `metrics.serviceMonitor.metricRelabelings` that can be used to configured the serviceMonitor homonimous field.
-
-### To 8.0.0
-
-- Several parameters were renamed or disappeared in favor of new ones on this major version:
-  - The terms *master* and *slave* have been replaced by the terms *primary* and *secondary*. Therefore, parameters prefixed with `master` or `slave` are now prefixed with `primary` or `secondary`, respectively.
-  - Credentials parameters are reorganized under the `auth` parameter.
-  - `replication.enabled` parameter is deprecated in favor of `architecture` parameter that accepts two values: `standalone` and `replication`.
-- Chart labels were adapted to follow the [Helm charts standard labels](https://helm.sh/docs/chart_best_practices/labels/#standard-labels).
-- This version also introduces `bitnami/common`, a [library chart](https://helm.sh/docs/topics/library_charts/#helm) as a dependency. More documentation about this new utility could be found [here](https://github.com/bitnami/charts/tree/master/bitnami/common#bitnami-common-library-chart). Please, make sure that you have updated the chart dependencies before executing any upgrade.
-
-Consequences:
-
-- Backwards compatibility is not guaranteed. To upgrade to `8.0.0`, install a new release of the MySQL chart, and migrate the data from your previous release. You have 2 alternatives to do so:
-  - Create a backup of the database, and restore it on the new release using tools such as [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html).
-  - Reuse the PVC used to hold the master data on your previous release. To do so, use the `primary.persistence.existingClaim` parameter. The following example assumes that the release name is `mysql`:
-
-```bash
-$ helm install mysql my-repo/mysql --set auth.rootPassword=[ROOT_PASSWORD] --set primary.persistence.existingClaim=[EXISTING_PVC]
-```
-
-| Note: you need to substitute the placeholder _[EXISTING_PVC]_ with the name of the PVC used on your previous release, and _[ROOT_PASSWORD]_ with the root password used in your previous release.
-
-### To 7.0.0
-
-[On November 13, 2020, Helm v2 support formally ended](https://github.com/helm/charts#status-of-the-project). This major version is the result of the required changes applied to the Helm Chart to be able to incorporate the different features added in Helm v3 and to be consistent with the Helm project itself regarding the Helm v2 EOL.
-
-[Learn more about this change and related upgrade considerations](https://docs.bitnami.com/kubernetes/infrastructure/mysql/administration/upgrade-helm3/).
-
-### To 3.0.0
-
-Backwards compatibility is not guaranteed unless you modify the labels used on the chart's deployments.
-Use the workaround below to upgrade from versions previous to 3.0.0. The following example assumes that the release name is mysql:
-
-```console
-$ kubectl delete statefulset mysql-master --cascade=false
-$ kubectl delete statefulset mysql-slave --cascade=false
-```
-
-## License
-
-Copyright &copy; 2022 Bitnami
-
-Licensed 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.
\ No newline at end of file
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/handler.md b/addons/mysql-cluster/5.7/chart/mysql-cluster/handler.md
deleted file mode 100644
index 3d7c2a5b..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/handler.md
+++ /dev/null
@@ -1,32 +0,0 @@
-echo Primary: my-release-mysql-primary.default.svc.cluster.local:3306
-echo Secondary: my-release-mysql-secondary.default.svc.cluster.local:3306
-
-Tip:
-
-  Watch the deployment status using the command: kubectl get pods -w --namespace default
-
-Services:
-
-  echo Primary: my-release-mysql-primary.default.svc.cluster.local:3306
-  echo Secondary: my-release-mysql-secondary.default.svc.cluster.local:3306
-
-Execute the following to get the administrator credentials:
-
-  echo Username: root
-  MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default my-release-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)
-
-To connect to your database:
-
-  1. Run a pod that you can use as a client:
-
-      kubectl run my-release-mysql-client --rm --tty -i --restart='Always' --image  docker.io/bitnami/mysql:8.0.30-debian-11-r27 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash 
-
-  2. To connect to primary service (read/write):
-
-      mysql -h my-release-mysql-primary.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
-
-  3. To connect to secondary service (read-only):
-
-      mysql -h my-release-mysql-secondary.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
-
-      mysq -uroot -p"$MYSQL_ROOT_PASSWORD"
\ No newline at end of file
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/int-mysql.sh b/addons/mysql-cluster/5.7/chart/mysql-cluster/int-mysql.sh
deleted file mode 100755
index 0e528ab0..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/int-mysql.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-  int-mysql.sh: |
-    #!/bin/bash
-    set -ex
-
-    # Generate mysql server-id from pod ordinal index.
-    [[ $`hostname` =~ -([0-9]+)$ ]] || exit 1
-    ordinal=${BASH_REMATCH[1]}
-    echo $ordinal
-    mgr_host=`hostname`
-    pre_mgr_host=${mgr_host%-*}
-    echo [mysqld] > /opt/bitnami/mysql/conf/bitnami/server-id.cnf
-    # Add an offset to avoid reserved server-id=0 value.
-    echo server-id=$((100 + $ordinal)) >> /opt/bitnami/mysql/conf/bitnami/server-id.cnf
-    # Copy appropriate conf.d files from config-map to emptyDir.
-    echo loose-group_replication_local_address=$mgr_host:24901 >> /opt/bitnami/mysql/conf/bitnami/server-id.cnf
-    echo loose-group_replication_group_seeds= "$pre_mgr_host-0.$pre_mgr_host-1:24901,$pre_mgr_host-2.mysql:24901" >> /opt/bitnami/mysql/conf/bitnami//server-id.cnf
-
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/mysql.conf b/addons/mysql-cluster/5.7/chart/mysql-cluster/mysql.conf
deleted file mode 100644
index b7dd8896..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/mysql.conf
+++ /dev/null
@@ -1,62 +0,0 @@
- [mysqld]
-    # server
-    default_authentication_plugin=mysql_native_password
-    skip-name-resolve
-    explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
-    max_allowed_packet=16M
-    bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
-    slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
-    long_query_time=10.0
-    log_timestamps=system
-    disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
-    sql_require_primary_key=ON 
-    # Replication
-  
-    log_bin=mysql-bin
-    binlog_format=ROW 
-    gtid_mode=ON
-    enforce_gtid_consistency=ON
-    log_slave_updates=ON 
-    master_info_repository=TABLE 
-    relay_log_info_repository=TABLE 
-    super_read_only=ON 
-    binlog_transaction_dependency_tarcking=WRITEST 
-    transaction_write_set_extraction=XXHASH64
-
-    # Multi-threaded Replication
-    slave_parallel_type=LOGICAL_CLOCK
-    slave_preserve_commit_order=ON 
-    slave_parallel_workers=4
-
-    # Group Replication Settings 
-    plugin_load_add="group_replication.so"
-    loose-group_replication_recovery_get_public_key=ON 
-    loose-group_replication_recovery_use_ssl=on
-    loose-group_replication_group_name="80d51c50-3c11-11ee-bd0f-080027fc0450" #TODO 
- 
-    loose-group_replication_bootstrap_group=OFF
-    loose-group_replication_start_on_boot=OFF
-
-    [client]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    default-character-set=UTF8
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-
-    [manager]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    
-    !includedir /opt/bitnami/mysql
\ No newline at end of file
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/NOTES.txt b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/NOTES.txt
deleted file mode 100644
index ecf604c3..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/NOTES.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-CHART NAME: {{ .Chart.Name }}
-CHART VERSION: {{ .Chart.Version }}
-APP VERSION: {{ .Chart.AppVersion }}
-
-** Please be patient while the chart is being deployed **
-
-{{- if .Values.diagnosticMode.enabled }}
-The chart has been deployed in diagnostic mode. All probes have been disabled and the command has been overwritten with:
-
-  command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 4 }}
-  args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 4 }}
-
-Get the list of pods by executing:
-
-  kubectl get pods --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/instance={{ .Release.Name }}
-
-Access the pod you want to debug by executing
-
-  kubectl exec --namespace {{ include "common.names.namespace" . }} -ti <NAME OF THE POD> -- bash
-
-In order to replicate the container startup scripts execute this command:
-
-    /opt/bitnami/scripts/mysql/entrypoint.sh /opt/bitnami/scripts/mysql/run.sh
-
-{{- else }}
-
-Tip:
-
-  Watch the deployment status using the command: kubectl get pods -w --namespace {{ include "common.names.namespace" . }}
-
-Services:
-
-  echo Primary: {{ include "mysql.primary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }}:{{ .Values.primary.service.ports.mysql }}
-{{- if eq .Values.architecture "replication" }}
-  echo Secondary: {{ include "mysql.secondary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }}:{{ .Values.secondary.service.ports.mysql }}
-{{- end }}
-
-Execute the following to get the administrator credentials:
-
-  echo Username: root
-  MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace {{ include "common.names.namespace" . }} {{ template "mysql.secretName" . }} -o jsonpath="{.data.mysql-root-password}" | base64 -d)
-
-To connect to your database:
-
-  1. Run a pod that you can use as a client:
-
-      kubectl run {{ include "common.names.fullname" . }}-client --rm --tty -i --restart='Never' --image  {{ template "mysql.image" . }} --namespace {{ include "common.names.namespace" . }} --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
-
-  2. To connect to primary service (read/write):
-
-      mysql -h {{ include "mysql.primary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }} -uroot -p"$MYSQL_ROOT_PASSWORD"
-
-{{- if eq .Values.architecture "replication" }}
-
-  3. To connect to secondary service (read-only):
-
-      mysql -h {{ include "mysql.secondary.fullname" . }}.{{ include "common.names.namespace" . }}.svc.{{ .Values.clusterDomain }} -uroot -p"$MYSQL_ROOT_PASSWORD"
-{{- end }}
-
-{{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
-Note: Since NetworkPolicy is enabled, only pods with label {{ template "common.names.fullname" . }}-client=true" will be able to connect to MySQL.
-{{- end }}
-
-{{- if .Values.metrics.enabled }}
-
-To access the MySQL Prometheus metrics from outside the cluster execute the following commands:
-
-    kubectl port-forward --namespace {{ include "common.names.namespace" . }} svc/{{ printf "%s-metrics" (include "common.names.fullname" .) }} {{ .Values.metrics.service.port }}:{{ .Values.metrics.service.port }} &
-    curl http://127.0.0.1:{{ .Values.metrics.service.port }}/metrics
-
-{{- end }}
-
-{{ include "mysql.validateValues" . }}
-{{ include "mysql.checkRollingTags" . }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/_helpers.tpl b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/_helpers.tpl
deleted file mode 100644
index 322826f9..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/_helpers.tpl
+++ /dev/null
@@ -1,161 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-
-{{- define "mysql.primary.fullname" -}}
-{{- if eq .Values.architecture "replication" }}
-{{- printf "%s-%s" (include "common.names.fullname" .) .Values.primary.name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- include "common.names.fullname" . -}}
-{{- end -}}
-{{- end -}}
-
-{{- define "mysql.secondary.fullname" -}}
-{{- printf "%s-%s" (include "common.names.fullname" .) .Values.secondary.name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Return the proper MySQL image name
-*/}}
-{{- define "mysql.image" -}}
-{{- include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global) }}
-{{- end -}}
-
-{{/*
-Return the proper metrics image name
-*/}}
-{{- define "mysql.metrics.image" -}}
-{{- include "common.images.image" (dict "imageRoot" .Values.metrics.image "global" .Values.global) }}
-{{- end -}}
-
-{{/*
-Return the proper image name (for the init container volume-permissions image)
-*/}}
-{{- define "mysql.volumePermissions.image" -}}
-{{- include "common.images.image" (dict "imageRoot" .Values.volumePermissions.image "global" .Values.global) }}
-{{- end -}}
-
-{{/*
-Return the proper Docker Image Registry Secret Names
-*/}}
-{{- define "mysql.imagePullSecrets" -}}
-{{- include "common.images.pullSecrets" (dict "images" (list .Values.image .Values.metrics.image .Values.volumePermissions.image) "global" .Values.global) }}
-{{- end -}}
-
-{{/*
-Get the initialization scripts ConfigMap name.
-*/}}
-{{- define "mysql.initdbScriptsCM" -}}
-{{- if .Values.initdbScriptsConfigMap -}}
-    {{- printf "%s" (tpl .Values.initdbScriptsConfigMap $) -}}
-{{- else -}}
-    {{- printf "%s-init-scripts" (include "mysql.primary.fullname" .) -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
- Returns the proper service account name depending if an explicit service account name is set
- in the values file. If the name is not set it will default to either mysql.fullname if serviceAccount.create
- is true or default otherwise.
-*/}}
-{{- define "mysql.serviceAccountName" -}}
-    {{- if .Values.serviceAccount.create -}}
-        {{ default (include "common.names.fullname" .) .Values.serviceAccount.name }}
-    {{- else -}}
-        {{ default "default" .Values.serviceAccount.name }}
-    {{- end -}}
-{{- end -}}
-
-{{/*
-Return the configmap with the MySQL Primary configuration
-*/}}
-{{- define "mysql.primary.configmapName" -}}
-{{- if .Values.primary.existingConfigmap -}}
-    {{- printf "%s" (tpl .Values.primary.existingConfigmap $) -}}
-{{- else -}}
-    {{- printf "%s" (include "mysql.primary.fullname" .) -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return true if a configmap object should be created for MySQL Secondary
-*/}}
-{{- define "mysql.primary.createConfigmap" -}}
-{{- if and .Values.primary.configuration (not .Values.primary.existingConfigmap) }}
-    {{- true -}}
-{{- else -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the configmap with the MySQL Primary configuration
-*/}}
-{{- define "mysql.secondary.configmapName" -}}
-{{- if .Values.secondary.existingConfigmap -}}
-    {{- printf "%s" (tpl .Values.secondary.existingConfigmap $) -}}
-{{- else -}}
-    {{- printf "%s" (include "mysql.secondary.fullname" .) -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return true if a configmap object should be created for MySQL Secondary
-*/}}
-{{- define "mysql.secondary.createConfigmap" -}}
-{{- if and (eq .Values.architecture "replication") .Values.secondary.configuration (not .Values.secondary.existingConfigmap) }}
-    {{- true -}}
-{{- else -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the secret with MySQL credentials
-*/}}
-{{- define "mysql.secretName" -}}
-    {{- if .Values.auth.existingSecret -}}
-        {{- printf "%s" (tpl .Values.auth.existingSecret $) -}}
-    {{- else -}}
-        {{- printf "%s" (include "common.names.fullname" .) -}}
-    {{- end -}}
-{{- end -}}
-
-{{/*
-Return true if a secret object should be created for MySQL
-*/}}
-{{- define "mysql.createSecret" -}}
-{{- if and (not .Values.auth.existingSecret) (not .Values.auth.customPasswordFiles) }}
-    {{- true -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Returns the available value for certain key in an existing secret (if it exists),
-otherwise it generates a random value.
-*/}}
-{{- define "getValueFromSecret" }}
-    {{- $len := (default 16 .Length) | int -}}
-    {{- $obj := (lookup "v1" "Secret" .Namespace .Name).data -}}
-    {{- if $obj }}
-        {{- index $obj .Key | b64dec -}}
-    {{- else -}}
-        {{- randAlphaNum $len -}}
-    {{- end -}}
-{{- end }}
-
-{{/* Check if there are rolling tags in the images */}}
-{{- define "mysql.checkRollingTags" -}}
-{{- include "common.warnings.rollingTag" .Values.image }}
-{{- include "common.warnings.rollingTag" .Values.metrics.image }}
-{{- include "common.warnings.rollingTag" .Values.volumePermissions.image }}
-{{- end -}}
-
-{{/*
-Compile all warnings into a single message, and call fail.
-*/}}
-{{- define "mysql.validateValues" -}}
-{{- $messages := list -}}
-{{- $messages := without $messages "" -}}
-{{- $message := join "\n" $messages -}}
-
-{{- if $message -}}
-{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}}
-{{- end -}}
-{{- end -}}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/extra-list.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/extra-list.yaml
deleted file mode 100644
index 9ac65f9e..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/extra-list.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-{{- range .Values.extraDeploy }}
----
-{{ include "common.tplvalues.render" (dict "value" . "context" $) }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/metrics-svc.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/metrics-svc.yaml
deleted file mode 100644
index 4d3339b1..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/metrics-svc.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-{{- if .Values.metrics.enabled }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ printf "%s-metrics" (include "common.names.fullname" .) }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-    app.kubernetes.io/component: metrics
-  {{- if or .Values.metrics.service.annotations .Values.commonAnnotations }}
-  annotations:
-    {{- if .Values.metrics.service.annotations }}
-    {{- include "common.tplvalues.render" (dict "value" .Values.metrics.service.annotations "context" $) | nindent 4 }}
-    {{- end }}
-    {{- if .Values.commonAnnotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- end }}
-spec:
-  type: {{ .Values.metrics.service.type }}
-  ports:
-    - port: {{ .Values.metrics.service.port }}
-      targetPort: metrics
-      protocol: TCP
-      name: metrics
-  selector: {{- include "common.labels.matchLabels" $ | nindent 4 }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/networkpolicy.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/networkpolicy.yaml
deleted file mode 100644
index 6b62bb55..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/networkpolicy.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-{{- if .Values.networkPolicy.enabled }}
-kind: NetworkPolicy
-apiVersion: {{ template "common.capabilities.networkPolicy.apiVersion" . }}
-metadata:
-  name: {{ template "common.names.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-spec:
-  podSelector:
-    matchLabels:
-      {{- include "common.labels.matchLabels" . | nindent 6 }}
-  ingress:
-    # Allow inbound connections
-    - ports:
-        - port: {{ .Values.primary.service.ports.mysql }}
-      {{- if not .Values.networkPolicy.allowExternal }}
-      from:
-        - podSelector:
-            matchLabels:
-              {{ template "common.names.fullname" . }}-client: "true"
-          {{- if .Values.networkPolicy.explicitNamespacesSelector }}
-          namespaceSelector:
-{{ toYaml .Values.networkPolicy.explicitNamespacesSelector | indent 12 }}
-          {{- end }}
-        - podSelector:
-            matchLabels:
-            {{- include "common.labels.matchLabels" . | nindent 14 }}
-      {{- end }}
-    {{- if .Values.metrics.enabled }}
-    # Allow prometheus scrapes
-    - ports:
-        - port: 9104
-    {{- end }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/configmap.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/configmap.yaml
deleted file mode 100644
index 82d0774b..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/configmap.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-{{- if (include "mysql.primary.createConfigmap" .) }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "mysql.primary.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    app.kubernetes.io/component: primary
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-data:
-  my.cnf: |-
-    {{- include "common.tplvalues.render" ( dict "value" .Values.primary.configuration "context" $ ) | nindent 4 }}
-{{- end -}}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/initialization-configmap.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/initialization-configmap.yaml
deleted file mode 100644
index a34f80de..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/initialization-configmap.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-{{- if and .Values.initdbScripts (not .Values.initdbScriptsConfigMap) }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ printf "%s-init-scripts" (include "mysql.primary.fullname" .) }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    app.kubernetes.io/component: primary
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-data:
-{{- include "common.tplvalues.render" (dict "value" .Values.initdbScripts "context" .) | nindent 2 }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/pdb.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/pdb.yaml
deleted file mode 100644
index ca22a0e0..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/pdb.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-{{- if .Values.primary.pdb.create }}
-apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
-kind: PodDisruptionBudget
-metadata:
-  name: {{ include "mysql.primary.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    app.kubernetes.io/component: primary
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-spec:
-  {{- if .Values.primary.pdb.minAvailable }}
-  minAvailable: {{ .Values.primary.pdb.minAvailable }}
-  {{- end }}
-  {{- if .Values.primary.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.primary.pdb.maxUnavailable }}
-  {{- end }}
-  selector:
-    matchLabels: {{ include "common.labels.matchLabels" . | nindent 6 }}
-      app.kubernetes.io/component: primary
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/statefulset.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/statefulset.yaml
deleted file mode 100644
index 310922a9..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/statefulset.yaml
+++ /dev/null
@@ -1,377 +0,0 @@
-apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
-kind: StatefulSet
-metadata:
-  name: {{ include "mysql.primary.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    app.kubernetes.io/component: primary
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-spec:
-
-  replicas: {{ .Values.primary.replicaCount }}
-  podManagementPolicy: {{ .Values.primary.podManagementPolicy | quote }}
-  selector:
-    matchLabels: {{ include "common.labels.matchLabels" . | nindent 6 }}
-      app.kubernetes.io/component: primary
-  serviceName: {{ include "mysql.primary.fullname" . }}
-  {{- if .Values.primary.updateStrategy }}
-  updateStrategy: {{- toYaml .Values.primary.updateStrategy | nindent 4 }}
-  {{- end }}
-  template:
-    metadata:
-      annotations:
-        {{- if (include "mysql.primary.createConfigmap" .) }}
-        checksum/configuration: {{ include (print $.Template.BasePath "/primary/configmap.yaml") . | sha256sum }}
-        {{- end }}
-        {{- if .Values.primary.podAnnotations }}
-        {{- include "common.tplvalues.render" (dict "value" .Values.primary.podAnnotations "context" $) | nindent 8 }}
-        {{- end }}
-      labels: {{- include "common.labels.standard" . | nindent 8 }}
-        app.kubernetes.io/component: primary
-        {{- if .Values.primary.podLabels }}
-        {{- include "common.tplvalues.render" ( dict "value" .Values.primary.podLabels "context" $ ) | nindent 8 }}
-        {{- end }}
-    spec:
-      serviceAccountName: {{ template "mysql.serviceAccountName" . }}
-      {{- include "mysql.imagePullSecrets" . | nindent 6 }}
-      {{- if .Values.primary.hostAliases }}
-      hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.primary.hostAliases "context" $) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.primary.affinity }}
-      affinity: {{- include "common.tplvalues.render" (dict "value" .Values.primary.affinity "context" $) | nindent 8 }}
-      {{- else }}
-      affinity:
-        podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.primary.podAffinityPreset "context" $) | nindent 10 }}
-        podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.primary.podAntiAffinityPreset "context" $) | nindent 10 }}
-        nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.primary.nodeAffinityPreset.type "key" .Values.primary.nodeAffinityPreset.key "values" .Values.primary.nodeAffinityPreset.values) | nindent 10 }}
-      {{- end }}
-      {{- if .Values.primary.nodeSelector }}
-      nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.primary.nodeSelector "context" $) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.primary.tolerations }}
-      tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.primary.tolerations "context" $) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.primary.priorityClassName }}
-      priorityClassName: {{ .Values.primary.priorityClassName | quote }}
-      {{- end }}
-      {{- if .Values.primary.schedulerName }}
-      schedulerName: {{ .Values.primary.schedulerName | quote }}
-      {{- end }}
-      {{- if .Values.primary.topologySpreadConstraints }}
-      topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.primary.topologySpreadConstraints "context" .) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.primary.podSecurityContext.enabled }}
-      securityContext: {{- omit .Values.primary.podSecurityContext "enabled" | toYaml | nindent 8 }}
-      {{- end }}
-      {{- if .Values.primary.terminationGracePeriodSeconds }}
-      terminationGracePeriodSeconds: {{ .Values.primary.terminationGracePeriodSeconds }}
-      {{- end }}
-      initContainers:
-        {{- if and .Values.primary.podSecurityContext.enabled .Values.volumePermissions.enabled .Values.primary.persistence.enabled }}
-        - name: volume-permissions
-          image: {{ include "mysql.volumePermissions.image" . }}
-          imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }}
-          command:
-            - /bin/bash
-            - -ec
-            - |
-              mkdir -p "/bitnami/mysql"
-              chown "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}" "/bitnami/mysql"
-              find "/bitnami/mysql" -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | xargs -r chown -R "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}"
-          securityContext:
-            runAsUser: 0
-          {{- if .Values.volumePermissions.resources }}
-          resources: {{- toYaml .Values.volumePermissions.resources | nindent 12 }}
-          {{- end }}
-          volumeMounts:
-            - name: data
-              mountPath: /bitnami/mysql
-        {{- end }}
-        {{- if .Values.primary.initContainers }}
-        {{- include "common.tplvalues.render" (dict "value" .Values.primary.initContainers "context" $) | nindent 8 }}
-        {{- end }}
-      containers:
-        - name: mysql
-          image: {{ include "mysql.image" . }}
-          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
-          {{- if .Values.primary.containerSecurityContext.enabled }}
-          securityContext: {{- omit .Values.primary.containerSecurityContext "enabled" | toYaml | nindent 12 }}
-          {{- end }}
-          {{- if .Values.diagnosticMode.enabled }}
-          command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }}
-          {{- else if .Values.primary.command }}
-          command: {{- include "common.tplvalues.render" (dict "value" .Values.primary.command "context" $) | nindent 12 }}
-          {{- end }}
-          {{- if .Values.diagnosticMode.enabled }}
-          args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }}
-          {{- else if .Values.primary.args }}
-          args: {{- include "common.tplvalues.render" (dict "value" .Values.primary.args "context" $) | nindent 12 }}
-          {{- end }}
-          {{- if .Values.primary.lifecycleHooks }}
-          lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.primary.lifecycleHooks "context" $) | nindent 12 }}
-          {{- end }}
-          env:
-            - name: BITNAMI_DEBUG
-              value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
-            {{- if .Values.auth.usePasswordFiles }}
-            - name: MYSQL_ROOT_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
-            {{- else }}
-            - name: MYSQL_ROOT_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: {{ template "mysql.secretName" . }}
-                  key: mysql-root-password
-            {{- end }}
-            {{- if not (empty .Values.auth.username) }}
-            - name: MYSQL_USER
-              value: {{ .Values.auth.username | quote }}
-            {{- if .Values.auth.usePasswordFiles }}
-            - name: MYSQL_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysql/secrets/mysql-password" .Values.auth.customPasswordFiles.user }}
-            {{- else }}
-            - name: MYSQL_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: {{ template "mysql.secretName" . }}
-                  key: mysql-password
-            {{- end }}
-            {{- end }}
-            {{- if and .Values.auth.createDatabase .Values.auth.database }}
-            - name: MYSQL_DATABASE
-              value: {{ .Values.auth.database | quote }}
-            {{- end }}
-            {{- if or (eq .Values.architecture "replication") (eq .Values.architecture "mgr") }}
-            - name: MYSQL_REPLICATION_MODE
-              value: "master"
-            - name: MYSQL_REPLICATION_USER
-              value: {{ .Values.auth.replicationUser | quote }}
-            {{- if .Values.auth.usePasswordFiles }}
-            - name: MYSQL_REPLICATION_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysql/secrets/mysql-replication-password" .Values.auth.customPasswordFiles.replicator }}
-            {{- else }}
-            - name: MYSQL_REPLICATION_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: {{ template "mysql.secretName" . }}
-                  key: mysql-replication-password
-            {{- end }}
-            {{- end }}
-            {{- if .Values.primary.extraFlags }}
-            - name: MYSQL_EXTRA_FLAGS
-              value: "{{ .Values.primary.extraFlags }}"
-            {{- end }}
-            {{- if .Values.primary.extraEnvVars }}
-            {{- include "common.tplvalues.render" (dict "value" .Values.primary.extraEnvVars "context" $) | nindent 12 }}
-            {{- end }}
-          envFrom:
-            {{- if .Values.primary.extraEnvVarsCM }}
-            - configMapRef:
-                name: {{ include "common.tplvalues.render" (dict "value" .Values.primary.extraEnvVarsCM "context" $) }}
-            {{- end }}
-            {{- if .Values.primary.extraEnvVarsSecret }}
-            - secretRef:
-                name: {{ include "common.tplvalues.render" (dict "value" .Values.primary.extraEnvVarsSecret "context" $) }}
-            {{- end }}
-          ports:
-            - name: mysql
-              containerPort: 3306
-            {{- if .Values.primary.extraPorts }}
-            {{- include "common.tplvalues.render" (dict "value" .Values.primary.extraPorts "context" $) | nindent 12 }}
-             {{- end }}
-          {{- if not .Values.diagnosticMode.enabled }}
-          {{- if .Values.primary.customLivenessProbe }}
-          livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customLivenessProbe "context" $) | nindent 12 }}
-          {{- else if .Values.primary.livenessProbe.enabled }}
-          livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.primary.livenessProbe "enabled") "context" $) | nindent 12 }}
-            exec:
-              command:
-                - /bin/bash
-                - -ec
-                - |
-                  password_aux="${MYSQL_ROOT_PASSWORD:-}"
-                  if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
-                      password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
-                  fi
-                  mysqladmin status -uroot -p"${password_aux}"
-          {{- end }}
-          {{- if .Values.primary.customReadinessProbe }}
-          readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customReadinessProbe "context" $) | nindent 12 }}
-          {{- else if .Values.primary.readinessProbe.enabled }}
-          readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.primary.readinessProbe "enabled") "context" $) | nindent 12 }}
-            exec:
-              command:
-                - /bin/bash
-                - -ec
-                - |
-                  password_aux="${MYSQL_ROOT_PASSWORD:-}"
-                  if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
-                      password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
-                  fi
-                  mysqladmin status -uroot -p"${password_aux}"
-          {{- end }}
-          {{- if .Values.primary.customStartupProbe }}
-          startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customStartupProbe "context" $) | nindent 12 }}
-          {{- else if .Values.primary.startupProbe.enabled }}
-          startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.primary.startupProbe "enabled") "context" $) | nindent 12 }}
-            exec:
-              command:
-                - /bin/bash
-                - -ec
-                - |
-                  password_aux="${MYSQL_ROOT_PASSWORD:-}"
-                  if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
-                      password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
-                  fi
-                  mysqladmin status -uroot -p"${password_aux}"
-          {{- end }}
-          {{- end }}
-          {{- if .Values.primary.resources }}
-          resources: {{ toYaml .Values.primary.resources | nindent 12 }}
-          {{- end }}
-          volumeMounts:
-            - name: data
-              mountPath: /bitnami/mysql
-            {{- if or .Values.initdbScriptsConfigMap .Values.initdbScripts }}
-            - name: custom-init-scripts
-              mountPath: /docker-entrypoint-initdb.d
-            {{- end }}
-            {{- if or .Values.primary.configuration .Values.primary.existingConfigmap }}
-            - name: config
-              mountPath: /opt/bitnami/mysql/conf/my.cnf
-              subPath: my.cnf
-            {{- end }}
-            {{- if and .Values.auth.usePasswordFiles (not .Values.auth.customPasswordFiles) }}
-            - name: mysql-credentials
-              mountPath: /opt/bitnami/mysql/secrets/
-            {{- end }}
-            {{- if .Values.primary.extraVolumeMounts }}
-            {{- include "common.tplvalues.render" (dict "value" .Values.primary.extraVolumeMounts "context" $) | nindent 12 }}
-            {{- end }}
-        {{- if .Values.metrics.enabled }}
-        - name: metrics
-          image: {{ include "mysql.metrics.image" . }}
-          imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }}
-          env:
-            {{- if .Values.auth.usePasswordFiles }}
-            - name: MYSQL_ROOT_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysqld-exporter/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
-            {{- else }}
-            - name: MYSQL_ROOT_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: {{ include "mysql.secretName" . }}
-                  key: mysql-root-password
-            {{- end }}
-          {{- if .Values.diagnosticMode.enabled }}
-          command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }}
-          args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }}
-          {{- else }}
-          command:
-            - /bin/bash
-            - -ec
-            - |
-              password_aux="${MYSQL_ROOT_PASSWORD:-}"
-              if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
-                  password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
-              fi
-              DATA_SOURCE_NAME="root:${password_aux}@(localhost:3306)/" /bin/mysqld_exporter {{- range .Values.metrics.extraArgs.primary }} {{ . }} {{- end }}
-          {{- end }}
-          ports:
-            - name: metrics
-              containerPort: 9104
-          {{- if not .Values.diagnosticMode.enabled }}
-          {{- if .Values.metrics.livenessProbe.enabled }}
-          livenessProbe: {{- omit .Values.metrics.livenessProbe "enabled" | toYaml | nindent 12 }}
-            httpGet:
-              path: /metrics
-              port: metrics
-          {{- end }}
-          {{- if .Values.metrics.readinessProbe.enabled }}
-          readinessProbe: {{- omit .Values.metrics.readinessProbe "enabled" | toYaml | nindent 12 }}
-            httpGet:
-              path: /metrics
-              port: metrics
-          {{- end }}
-          {{- end }}
-          {{- if .Values.metrics.resources }}
-          resources: {{- toYaml .Values.metrics.resources | nindent 12 }}
-          {{- end }}
-          {{- if and .Values.auth.usePasswordFiles (not .Values.auth.customPasswordFiles) }}
-          volumeMounts:
-            - name: mysql-credentials
-              mountPath: /opt/bitnami/mysqld-exporter/secrets/
-          {{- end }}
-        {{- end }}
-        {{- if .Values.primary.sidecars }}
-        {{- include "common.tplvalues.render" (dict "value" .Values.primary.sidecars "context" $) | nindent 8 }}
-        {{- end }}
-      volumes:
-        {{- if or .Values.primary.configuration .Values.primary.existingConfigmap }}
-        - name: config
-          configMap:
-            name: {{ include "mysql.primary.configmapName" . }}
-        {{- end }}
-        {{- if or .Values.initdbScriptsConfigMap .Values.initdbScripts }}
-        - name: custom-init-scripts
-          configMap:
-            name: {{ include "mysql.initdbScriptsCM" . }}
-        {{- end }}
-        {{- if and .Values.auth.usePasswordFiles (not .Values.auth.customPasswordFiles) }}
-        - name: mysql-credentials
-          secret:
-            secretName: {{ include "mysql.secretName" . }}
-            items:
-              - key: mysql-root-password
-                path: mysql-root-password
-              - key: mysql-password
-                path: mysql-password
-              {{- if or (eq .Values.architecture "replication") (eq .Values.architecture "mgr") }}
-              - key: mysql-replication-password
-                path: mysql-replication-password
-              {{- end }}
-        {{- end }}
-        {{- if .Values.primary.extraVolumes }}
-        {{- include "common.tplvalues.render" (dict "value" .Values.primary.extraVolumes "context" $) | nindent 8 }}
-        {{- end }}
-  {{- if and .Values.primary.persistence.enabled .Values.primary.persistence.existingClaim }}
-        - name: data
-          persistentVolumeClaim:
-            claimName: {{ tpl .Values.primary.persistence.existingClaim . }}
-  {{- else if not .Values.primary.persistence.enabled }}
-        - name: data
-          emptyDir: {}
-  {{- else if and .Values.primary.persistence.enabled (not .Values.primary.persistence.existingClaim) }}
-  volumeClaimTemplates:
-    - metadata:
-        name: data
-        labels: {{ include "common.labels.matchLabels" . | nindent 10 }}
-          app.kubernetes.io/component: primary
-          {{- if .Values.commonLabels }}
-          {{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }}
-          {{- end }}
-        annotations:
-          {{- if .Values.primary.persistence.annotations }}
-          {{- include "common.tplvalues.render" (dict "value" .Values.primary.persistence.annotations "context" $) | nindent 10 }}
-          {{- end }}
-          {{- if .Values.commonAnnotations }}
-          {{- include "common.tplvalues.render" (dict "value" .Values.commonAnnotations "context" $) | nindent 10 }}
-          {{- end }}
-      spec:
-        accessModes:
-          {{- range .Values.primary.persistence.accessModes }}
-          - {{ . | quote }}
-          {{- end }}
-        resources:
-          requests:
-            storage: {{ .Values.primary.persistence.size | quote }}
-        {{- include "common.storage.class" (dict "persistence" .Values.primary.persistence "global" .Values.global) | nindent 8 }}
-        {{- if .Values.primary.persistence.selector }}
-        selector: {{- include "common.tplvalues.render" (dict "value" .Values.primary.persistence.selector "context" $) | nindent 10 }}
-        {{- end -}}
-  {{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/svc-headless.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/svc-headless.yaml
deleted file mode 100644
index 22619122..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/svc-headless.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "mysql.primary.fullname" . }}-headless
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    app.kubernetes.io/component: primary
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-    {{- end }}
-spec:
-  type: ClusterIP
-  clusterIP: None
-  publishNotReadyAddresses: true
-  ports:
-    - name: mysql
-      port: {{ .Values.primary.service.ports.mysql }}
-      targetPort: mysql
-  selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
-    app.kubernetes.io/component: primary
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/svc.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/svc.yaml
deleted file mode 100644
index b61d453c..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/primary/svc.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "mysql.primary.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    app.kubernetes.io/component: primary
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-    {{- end }}
-    {{- if .Values.primary.service.annotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.primary.service.annotations "context" $ ) | nindent 4 }}
-    {{- end }}
-spec:
-  type: {{ .Values.primary.service.type }}
-  {{- if and .Values.primary.service.clusterIP (eq .Values.primary.service.type "ClusterIP") }}
-  clusterIP: {{ .Values.primary.service.clusterIP }}
-  {{- end }}
-  {{- if .Values.primary.service.sessionAffinity }}
-  sessionAffinity: {{ .Values.primary.service.sessionAffinity }}
-  {{- end }}
-  {{- if .Values.primary.service.sessionAffinityConfig }}
-  sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.primary.service.sessionAffinityConfig "context" $) | nindent 4 }}
-  {{- end }}
-  {{- if or (eq .Values.primary.service.type "LoadBalancer") (eq .Values.primary.service.type "NodePort") }}
-  externalTrafficPolicy: {{ .Values.primary.service.externalTrafficPolicy | quote }}
-  {{- end }}
-  {{- if and (eq .Values.primary.service.type "LoadBalancer") (not (empty .Values.primary.service.loadBalancerSourceRanges)) }}
-  loadBalancerSourceRanges: {{ .Values.primary.service.loadBalancerSourceRanges }}
-  {{- end }}
-  {{- if and (eq .Values.primary.service.type "LoadBalancer") (not (empty .Values.primary.service.loadBalancerIP)) }}
-  loadBalancerIP: {{ .Values.primary.service.loadBalancerIP }}
-  {{- end }}
-  ports:
-    - name: mysql
-      port: {{ .Values.primary.service.ports.mysql }}
-      protocol: TCP
-      targetPort: mysql
-      {{- if (and (or (eq .Values.primary.service.type "NodePort") (eq .Values.primary.service.type "LoadBalancer")) .Values.primary.service.nodePorts.mysql) }}
-      nodePort: {{ .Values.primary.service.nodePorts.mysql }}
-      {{- else if eq .Values.primary.service.type "ClusterIP" }}
-      nodePort: null
-      {{- end }}
-    {{- if .Values.primary.service.extraPorts }}
-    {{- include "common.tplvalues.render" (dict "value" .Values.primary.service.extraPorts "context" $) | nindent 4 }}
-    {{- end }}
-  selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
-    app.kubernetes.io/component: primary
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/prometheusrule.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/prometheusrule.yaml
deleted file mode 100644
index 64fa44f5..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/prometheusrule.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-{{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
-apiVersion: monitoring.coreos.com/v1
-kind: PrometheusRule
-metadata:
-  name: {{ include "common.names.fullname" . }}
-  namespace: {{ default .Release.Namespace .Values.metrics.prometheusRule.namespace }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    app.kubernetes.io/component: metrics
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-    {{- if .Values.metrics.prometheusRule.additionalLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.prometheusRule.additionalLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-spec:
-  groups:
-  - name: {{ include "common.names.fullname" . }}
-    rules: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.prometheusRule.rules "context" $ ) | nindent 6 }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/role.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/role.yaml
deleted file mode 100644
index 1ccc00a5..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/role.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-{{- if and .Values.serviceAccount.create  .Values.rbac.create }}
-apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
-kind: Role
-metadata:
-  name: {{ include "common.names.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-rules:
-  - apiGroups:
-      - ""
-    resources:
-      - endpoints
-    verbs:
-      - get
-  {{- if .Values.rbac.rules }}
-  {{- include "common.tplvalues.render" ( dict "value" .Values.rbac.rules "context" $ ) | nindent 2 }}
-  {{- end }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/rolebinding.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/rolebinding.yaml
deleted file mode 100644
index 9b052084..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/rolebinding.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-{{- if and .Values.serviceAccount.create .Values.rbac.create }}
-kind: RoleBinding
-apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
-metadata:
-  name: {{ include "common.names.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-subjects:
-  - kind: ServiceAccount
-    name: {{ include "mysql.serviceAccountName" . }}
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: {{ include "common.names.fullname" . -}}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/secrets.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/secrets.yaml
deleted file mode 100644
index 8a5b2686..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/secrets.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-{{- if eq (include "mysql.createSecret" .) "true" }}
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.names.fullname" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  {{- if .Values.commonAnnotations }}
-  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-  {{- end }}
-type: Opaque
-data:
-  mysql-root-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-root-password" "length" 10 "providedValues" (list "auth.rootPassword") "context" $) }}
-  mysql-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-password" "length" 10 "providedValues" (list "auth.password") "context" $) }}
-  {{- if or (eq .Values.architecture "replication")  (eq .Values.architecture "replication") }}
-  mysql-replication-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-replication-password" "length" 10 "providedValues" (list "auth.replicationPassword") "context" $) }}
-  {{- end }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/serviceaccount.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/serviceaccount.yaml
deleted file mode 100644
index 5044961f..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/serviceaccount.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-{{- if .Values.serviceAccount.create }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ include "mysql.serviceAccountName" . }}
-  namespace: {{ include "common.names.namespace" . | quote }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-    {{- end }}
-    {{- if .Values.serviceAccount.annotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.serviceAccount.annotations "context" $ ) | nindent 4 }}
-    {{- end }}
-automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
-{{- if (not .Values.auth.customPasswordFiles) }}
-secrets:
-  - name: {{ template "mysql.secretName" . }}
-{{- end }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/servicemonitor.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/servicemonitor.yaml
deleted file mode 100644
index 47a9dad5..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/templates/servicemonitor.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
-{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }}
-apiVersion: monitoring.coreos.com/v1
-kind: ServiceMonitor
-metadata:
-  name: {{ include "common.names.fullname" . }}
-  namespace: {{ default (include "common.names.namespace" .) .Values.metrics.serviceMonitor.namespace }}
-  labels: {{- include "common.labels.standard" . | nindent 4 }}
-    {{- if .Values.metrics.serviceMonitor.labels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.labels "context" $ ) | nindent 4 }}
-    {{- end }}
-    {{- if .Values.commonLabels }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
-    {{- end }}
-  annotations:
-    {{- if .Values.commonAnnotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
-    {{- end }}
-    {{- if .Values.metrics.serviceMonitor.annotations }}
-    {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.annotations "context" $ ) | nindent 4 }}
-    {{- end }}
-spec:
-  jobLabel: {{ .Values.metrics.serviceMonitor.jobLabel | quote }}
-  endpoints:
-    - port: metrics
-      {{- if .Values.metrics.serviceMonitor.interval }}
-      interval: {{ .Values.metrics.serviceMonitor.interval }}
-      {{- end }}
-      {{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
-      scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
-      {{- end }}
-      {{- if .Values.metrics.serviceMonitor.honorLabels }}
-      honorLabels: {{ .Values.metrics.serviceMonitor.honorLabels }}
-      {{- end }}
-      {{- if .Values.metrics.serviceMonitor.metricRelabelings }}
-      metricRelabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.metrics.serviceMonitor.relabelings }}
-      relabelings: {{- include "common.tplvalues.render" ( dict "value" .Values.metrics.serviceMonitor.relabelings "context" $) | nindent 8 }}
-      {{- end }}
-  namespaceSelector:
-    matchNames:
-      - {{ include "common.names.namespace" . | quote }}
-  selector:
-    matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
-      app.kubernetes.io/component: metrics
-      {{- if .Values.metrics.serviceMonitor.selector }}
-      {{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.selector "context" $) | nindent 6 }}
-      {{- end }}
-{{- end }}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/values.sample.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/values.sample.yaml
deleted file mode 100644
index 266bca1a..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/values.sample.yaml
+++ /dev/null
@@ -1,1178 +0,0 @@
-## @section Global parameters
-## 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, imagePullSecrets and storageClass
-
-## @param global.imageRegistry Global Docker image registry
-## @param global.imagePullSecrets Global Docker registry secret names as an array
-## @param global.storageClass Global StorageClass for Persistent Volume(s)
-##
-global:
-  imageRegistry: ""
-  ## E.g.
-  ## imagePullSecrets:
-  ##   - myRegistryKeySecretName
-  ##
-  imagePullSecrets: []
-  storageClass: ""
-
-## @section Common parameters
-
-## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
-##
-kubeVersion: ""
-## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
-##
-nameOverride: ""
-## @param fullnameOverride String to fully override common.names.fullname template
-##
-fullnameOverride: ""
-## @param namespaceOverride String to fully override common.names.namespace
-##
-namespaceOverride: ""
-## @param clusterDomain Cluster domain
-##
-clusterDomain: cluster.local
-## @param commonAnnotations Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
-##
-commonAnnotations: {}
-## @param commonLabels Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
-##
-commonLabels: {}
-## @param extraDeploy Array with extra yaml to deploy with the chart. Evaluated as a template
-##
-extraDeploy: []
-
-## Enable diagnostic mode in the deployment
-##
-diagnosticMode:
-  ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
-  ##
-  enabled: false
-  ## @param diagnosticMode.command Command to override all containers in the deployment
-  ##
-  command:
-    - sleep
-  ## @param diagnosticMode.args Args to override all containers in the deployment
-  ##
-  args:
-    - infinity
-
-## @section MySQL common parameters
-
-## Bitnami MySQL image
-## ref: https://hub.docker.com/r/bitnami/mysql/tags/
-## @param image.registry MySQL image registry
-## @param image.repository MySQL image repository
-## @param image.tag MySQL image tag (immutable tags are recommended)
-## @param image.digest MySQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-## @param image.pullPolicy MySQL image pull policy
-## @param image.pullSecrets Specify docker-registry secret names as an array
-## @param image.debug Specify if debug logs should be enabled
-##
-image:
-  registry: docker.io
-  repository: bitnami/mysql
-  tag: 8.0.30-debian-11-r27
-  digest: ""
-  ## Specify a imagePullPolicy
-  ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
-  ## ref: https://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/or NAMI debugging in the image
-  ##
-  debug: false
-## @param architecture MySQL architecture (`standalone` or `replication`)
-##
-architecture: standalone
-## MySQL Authentication parameters
-##
-auth:
-  ## @param auth.rootPassword Password for the `root` user. Ignored if existing secret is provided
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-the-root-password-on-first-run
-  ##
-  rootPassword: ""
-  ## @param auth.createDatabase Wheter to create the .Values.auth.database or not
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
-  ##
-  createDatabase: true
-  ## @param auth.database Name for a custom database to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
-  ##
-  database: "my_database"
-  ## @param auth.username Name for a custom user to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-user-on-first-run
-  ##
-  username: ""
-  ## @param auth.password Password for the new user. Ignored if existing secret is provided
-  ##
-  password: ""
-  ## @param auth.replicationUser MySQL replication user
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-up-a-replication-cluster
-  ##
-  replicationUser: replicator
-  ## @param auth.replicationPassword MySQL replication user password. Ignored if existing secret is provided
-  ##
-  replicationPassword: ""
-  ## @param auth.existingSecret Use existing secret for password details. The secret has to contain the keys `mysql-root-password`, `mysql-replication-password` and `mysql-password`
-  ## NOTE: When it's set the auth.rootPassword, auth.password, auth.replicationPassword are ignored.
-  ##
-  existingSecret: ""
-  ## @param auth.usePasswordFiles Mount credentials as files instead of using an environment variable
-  ##
-  usePasswordFiles: false
-  ## @param auth.customPasswordFiles Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication`
-  ## Example:
-  ## customPasswordFiles:
-  ##   root: /vault/secrets/mysql-root
-  ##   user: /vault/secrets/mysql-user
-  ##   replicator: /vault/secrets/mysql-replicator
-  ##
-  customPasswordFiles: {}
-## @param initdbScripts Dictionary of initdb scripts
-## Specify dictionary of scripts to be run at first boot
-## Example:
-## initdbScripts:
-##   my_init_script.sh: |
-##      #!/bin/bash
-##      echo "Do something."
-##
-initdbScripts: {}
-## @param initdbScriptsConfigMap ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)
-##
-initdbScriptsConfigMap: ""
-
-## @section MySQL Primary parameters
-
-primary:
-  ## @param primary.name Name of the primary database (eg primary, master, leader, ...)
-  ##
-  name: primary
-  ## @param primary.command Override default container command on MySQL Primary container(s) (useful when using custom images)
-  ##
-  command: []
-  ## @param primary.args Override default container args on MySQL Primary container(s) (useful when using custom images)
-  ##
-  args: []
-  ## @param primary.lifecycleHooks for the MySQL Primary container(s) to automate configuration before or after startup
-  ##
-  lifecycleHooks: {}
-  ## @param primary.hostAliases Deployment pod host aliases
-  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
-  ##
-  hostAliases: []
-  ## @param primary.configuration [string] Configure MySQL Primary with a custom my.cnf file
-  ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
-  ##
-  configuration: |-
-    [mysqld]
-    default_authentication_plugin=mysql_native_password
-    skip-name-resolve
-    explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
-    max_allowed_packet=16M
-    bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
-    slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
-    long_query_time=10.0
-
-    [client]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    default-character-set=UTF8
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-
-    [manager]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-  ## @param primary.existingConfigmap Name of existing ConfigMap with MySQL Primary configuration.
-  ## NOTE: When it's set the 'configuration' parameter is ignored
-  ##
-  existingConfigmap: ""
-  ## @param primary.updateStrategy.type Update strategy type for the MySQL primary statefulset
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
-  ##
-  updateStrategy:
-    type: RollingUpdate
-  ## @param primary.podAnnotations Additional pod annotations for MySQL primary pods
-  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-  ##
-  podAnnotations: {}
-  ## @param primary.podAffinityPreset MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAffinityPreset: ""
-  ## @param primary.podAntiAffinityPreset MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAntiAffinityPreset: soft
-  ## MySQL Primary node affinity preset
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
-  ##
-  nodeAffinityPreset:
-    ## @param primary.nodeAffinityPreset.type MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-    ##
-    type: ""
-    ## @param primary.nodeAffinityPreset.key MySQL primary node label key to match Ignored if `primary.affinity` is set.
-    ## E.g.
-    ## key: "kubernetes.io/e2e-az-name"
-    ##
-    key: ""
-    ## @param primary.nodeAffinityPreset.values MySQL primary node label values to match. Ignored if `primary.affinity` is set.
-    ## E.g.
-    ## values:
-    ##   - e2e-az1
-    ##   - e2e-az2
-    ##
-    values: []
-  ## @param primary.affinity Affinity for MySQL 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: {}
-  ## @param primary.nodeSelector Node labels for MySQL primary pods assignment
-  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
-  ##
-  nodeSelector: {}
-  ## @param primary.tolerations Tolerations for MySQL primary pods assignment
-  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-  ##
-  tolerations: []
-  ## @param primary.priorityClassName MySQL primary pods' priorityClassName
-  ##
-  priorityClassName: ""
-  ## @param primary.schedulerName Name of the k8s scheduler (other than default)
-  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-  ##
-  schedulerName: ""
-  ## @param primary.terminationGracePeriodSeconds In seconds, time the given to the MySQL primary pod needs to terminate gracefully
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
-  ##
-  terminationGracePeriodSeconds: ""
-  ## @param primary.topologySpreadConstraints Topology Spread Constraints for pod assignment
-  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
-  ## The value is evaluated as a template
-  ##
-  topologySpreadConstraints: []
-  ## @param primary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL primary pods
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
-  ##
-  podManagementPolicy: ""
-  ## MySQL primary Pod security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
-  ## @param primary.podSecurityContext.enabled Enable security context for MySQL primary pods
-  ## @param primary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
-  ##
-  podSecurityContext:
-    enabled: true
-    fsGroup: 1001
-  ## MySQL primary container security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
-  ## @param primary.containerSecurityContext.enabled MySQL primary container securityContext
-  ## @param primary.containerSecurityContext.runAsUser User ID for the MySQL primary container
-  ## @param primary.containerSecurityContext.runAsNonRoot Set MySQL primary container's Security Context runAsNonRoot
-  ##
-  containerSecurityContext:
-    enabled: true
-    runAsUser: 1001
-    runAsNonRoot: true
-  ## MySQL primary container's resource requests and limits
-  ## ref: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param primary.resources.limits The resources limits for MySQL primary containers
-  ## @param primary.resources.requests The requested resources for MySQL primary containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    requests: {}
-  ## Configure extra options for liveness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.livenessProbe.enabled Enable livenessProbe
-  ## @param primary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param primary.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param primary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param primary.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param primary.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for readiness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.readinessProbe.enabled Enable readinessProbe
-  ## @param primary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param primary.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param primary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param primary.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param primary.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for startupProbe probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.startupProbe.enabled Enable startupProbe
-  ## @param primary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
-  ## @param primary.startupProbe.periodSeconds Period seconds for startupProbe
-  ## @param primary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
-  ## @param primary.startupProbe.failureThreshold Failure threshold for startupProbe
-  ## @param primary.startupProbe.successThreshold Success threshold for startupProbe
-  ##
-  startupProbe:
-    enabled: true
-    initialDelaySeconds: 15
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 10
-    successThreshold: 1
-  ## @param primary.customLivenessProbe Override default liveness probe for MySQL primary containers
-  ##
-  customLivenessProbe: {}
-  ## @param primary.customReadinessProbe Override default readiness probe for MySQL primary containers
-  ##
-  customReadinessProbe: {}
-  ## @param primary.customStartupProbe Override default startup probe for MySQL primary containers
-  ##
-  customStartupProbe: {}
-  ## @param primary.extraFlags MySQL 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: ""
-  ## @param primary.extraEnvVars Extra environment variables to be set on MySQL primary containers
-  ## E.g.
-  ## extraEnvVars:
-  ##  - name: TZ
-  ##    value: "Europe/Paris"
-  ##
-  extraEnvVars: []
-  ## @param primary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL primary containers
-  ##
-  extraEnvVarsCM: ""
-  ## @param primary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL primary containers
-  ##
-  extraEnvVarsSecret: ""
-  ## Enable persistence using Persistent Volume Claims
-  ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
-  ##
-  persistence:
-    ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir
-    ##
-    enabled: true
-    ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas
-    ## NOTE: When it's set the rest of persistence parameters are ignored
-    ##
-    existingClaim: ""
-    ## @param primary.persistence.storageClass MySQL primary 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: ""
-    ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations
-    ##
-    annotations: {}
-    ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes
-    ##
-    accessModes:
-      - ReadWriteOnce
-    ## @param primary.persistence.size MySQL primary persistent volume size
-    ##
-    size: 8Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-  ## @param primary.extraVolumes Optionally specify extra list of additional volumes to the MySQL Primary pod(s)
-  ##
-  extraVolumes: []
-  ## @param primary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s)
-  ##
-  extraVolumeMounts: []
-  ## @param primary.initContainers Add additional init containers for the MySQL Primary pod(s)
-  ##
-  initContainers: []
-  ## @param primary.sidecars Add additional sidecar containers for the MySQL Primary pod(s)
-  ##
-  sidecars: []
-  ## MySQL Primary Service parameters
-  ##
-  service:
-    ## @param primary.service.type MySQL Primary K8s service type
-    ##
-    type: ClusterIP
-    ## @param primary.service.ports.mysql MySQL Primary K8s service port
-    ##
-    ports:
-      mysql: 3306
-    ## @param primary.service.nodePorts.mysql MySQL Primary K8s service node port
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
-    ##
-    nodePorts:
-      mysql: ""
-    ## @param primary.service.clusterIP MySQL Primary K8s service clusterIP IP
-    ## e.g:
-    ## clusterIP: None
-    ##
-    clusterIP: ""
-    ## @param primary.service.loadBalancerIP MySQL Primary loadBalancerIP if service type is `LoadBalancer`
-    ## Set the LoadBalancer service type to internal only
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
-    ##
-    loadBalancerIP: ""
-    ## @param primary.service.externalTrafficPolicy Enable client source IP preservation
-    ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
-    ##
-    externalTrafficPolicy: Cluster
-    ## @param primary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL Primary service is LoadBalancer
-    ## 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: []
-    ## @param primary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
-    ##
-    extraPorts: []
-    ## @param primary.service.annotations Additional custom annotations for MySQL primary service
-    ##
-    annotations: {}
-    ## @param primary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
-    ## If "ClientIP", consecutive client requests will be directed to the same Pod
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
-    ##
-    sessionAffinity: None
-    ## @param primary.service.sessionAffinityConfig Additional settings for the sessionAffinity
-    ## sessionAffinityConfig:
-    ##   clientIP:
-    ##     timeoutSeconds: 300
-    ##
-    sessionAffinityConfig: {}
-  ## MySQL primary Pod Disruption Budget configuration
-  ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-  ##
-  pdb:
-    ## @param primary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL primary pods
-    ##
-    create: false
-    ## @param primary.pdb.minAvailable Minimum number/percentage of MySQL primary pods that should remain scheduled
-    ##
-    minAvailable: 1
-    ## @param primary.pdb.maxUnavailable Maximum number/percentage of MySQL primary pods that may be made unavailable
-    ##
-    maxUnavailable: ""
-  ## @param primary.podLabels MySQL Primary pod label. If labels are same as commonLabels , this will take precedence
-  ##
-  podLabels: {}
-
-## @section MySQL Secondary parameters
-
-secondary:
-  ## @param secondary.name Name of the secondary database (eg secondary, slave, ...)
-  ##
-  name: secondary
-  ## @param secondary.replicaCount Number of MySQL secondary replicas
-  ##
-  replicaCount: 1
-  ## @param secondary.hostAliases Deployment pod host aliases
-  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
-  ##
-  hostAliases: []
-  ## @param secondary.command Override default container command on MySQL Secondary container(s) (useful when using custom images)
-  ##
-  command: []
-  ## @param secondary.args Override default container args on MySQL Secondary container(s) (useful when using custom images)
-  ##
-  args: []
-  ## @param secondary.lifecycleHooks for the MySQL Secondary container(s) to automate configuration before or after startup
-  ##
-  lifecycleHooks: {}
-  ## @param secondary.configuration [string] Configure MySQL Secondary with a custom my.cnf file
-  ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
-  ##
-  configuration: |-
-    [mysqld]
-    default_authentication_plugin=mysql_native_password
-    skip-name-resolve
-    explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
-    max_allowed_packet=16M
-    bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
-    slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
-    long_query_time=10.0
-
-    [client]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    default-character-set=UTF8
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-
-    [manager]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-  ## @param secondary.existingConfigmap Name of existing ConfigMap with MySQL Secondary configuration.
-  ## NOTE: When it's set the 'configuration' parameter is ignored
-  ##
-  existingConfigmap: ""
-  ## @param secondary.updateStrategy.type Update strategy type for the MySQL secondary statefulset
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
-  ##
-  updateStrategy:
-    type: RollingUpdate
-  ## @param secondary.podAnnotations Additional pod annotations for MySQL secondary pods
-  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-  ##
-  podAnnotations: {}
-  ## @param secondary.podAffinityPreset MySQL secondary pod affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAffinityPreset: ""
-  ## @param secondary.podAntiAffinityPreset MySQL secondary pod anti-affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ## Allowed values: soft, hard
-  ##
-  podAntiAffinityPreset: soft
-  ## MySQL Secondary node affinity preset
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
-  ##
-  nodeAffinityPreset:
-    ## @param secondary.nodeAffinityPreset.type MySQL secondary node affinity preset type. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
-    ##
-    type: ""
-    ## @param secondary.nodeAffinityPreset.key MySQL secondary node label key to match Ignored if `secondary.affinity` is set.
-    ## E.g.
-    ## key: "kubernetes.io/e2e-az-name"
-    ##
-    key: ""
-    ## @param secondary.nodeAffinityPreset.values MySQL secondary node label values to match. Ignored if `secondary.affinity` is set.
-    ## E.g.
-    ## values:
-    ##   - e2e-az1
-    ##   - e2e-az2
-    ##
-    values: []
-  ## @param secondary.affinity Affinity for MySQL 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: {}
-  ## @param secondary.nodeSelector Node labels for MySQL secondary pods assignment
-  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
-  ##
-  nodeSelector: {}
-  ## @param secondary.tolerations Tolerations for MySQL secondary pods assignment
-  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-  ##
-  tolerations: []
-  ## @param secondary.priorityClassName MySQL secondary pods' priorityClassName
-  ##
-  priorityClassName: ""
-  ## @param secondary.schedulerName Name of the k8s scheduler (other than default)
-  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-  ##
-  schedulerName: ""
-  ## @param secondary.terminationGracePeriodSeconds In seconds, time the given to the MySQL secondary pod needs to terminate gracefully
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
-  ##
-  terminationGracePeriodSeconds: ""
-  ## @param secondary.topologySpreadConstraints Topology Spread Constraints for pod assignment
-  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
-  ## The value is evaluated as a template
-  ##
-  topologySpreadConstraints: []
-  ## @param secondary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL secondary pods
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
-  ##
-  podManagementPolicy: ""
-  ## MySQL secondary Pod security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
-  ## @param secondary.podSecurityContext.enabled Enable security context for MySQL secondary pods
-  ## @param secondary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
-  ##
-  podSecurityContext:
-    enabled: true
-    fsGroup: 1001
-  ## MySQL secondary container security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
-  ## @param secondary.containerSecurityContext.enabled MySQL secondary container securityContext
-  ## @param secondary.containerSecurityContext.runAsUser User ID for the MySQL secondary container
-  ## @param secondary.containerSecurityContext.runAsNonRoot Set MySQL secondary container's Security Context runAsNonRoot
-  ##
-  containerSecurityContext:
-    enabled: true
-    runAsUser: 1001
-    runAsNonRoot: true
-  ## MySQL secondary container's resource requests and limits
-  ## ref: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param secondary.resources.limits The resources limits for MySQL secondary containers
-  ## @param secondary.resources.requests The requested resources for MySQL secondary containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    requests: {}
-  ## Configure extra options for liveness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param secondary.livenessProbe.enabled Enable livenessProbe
-  ## @param secondary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param secondary.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param secondary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param secondary.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param secondary.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for readiness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param secondary.readinessProbe.enabled Enable readinessProbe
-  ## @param secondary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param secondary.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param secondary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param secondary.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param secondary.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for startupProbe probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param secondary.startupProbe.enabled Enable startupProbe
-  ## @param secondary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
-  ## @param secondary.startupProbe.periodSeconds Period seconds for startupProbe
-  ## @param secondary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
-  ## @param secondary.startupProbe.failureThreshold Failure threshold for startupProbe
-  ## @param secondary.startupProbe.successThreshold Success threshold for startupProbe
-  ##
-  startupProbe:
-    enabled: true
-    initialDelaySeconds: 15
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 15
-    successThreshold: 1
-  ## @param secondary.customLivenessProbe Override default liveness probe for MySQL secondary containers
-  ##
-  customLivenessProbe: {}
-  ## @param secondary.customReadinessProbe Override default readiness probe for MySQL secondary containers
-  ##
-  customReadinessProbe: {}
-  ## @param secondary.customStartupProbe Override default startup probe for MySQL secondary containers
-  ##
-  customStartupProbe: {}
-  ## @param secondary.extraFlags MySQL 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: ""
-  ## @param secondary.extraEnvVars An array to add extra environment variables on MySQL secondary containers
-  ## E.g.
-  ## extraEnvVars:
-  ##  - name: TZ
-  ##    value: "Europe/Paris"
-  ##
-  extraEnvVars: []
-  ## @param secondary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL secondary containers
-  ##
-  extraEnvVarsCM: ""
-  ## @param secondary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL secondary containers
-  ##
-  extraEnvVarsSecret: ""
-  ## Enable persistence using Persistent Volume Claims
-  ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
-  ##
-  persistence:
-    ## @param secondary.persistence.enabled Enable persistence on MySQL secondary replicas using a `PersistentVolumeClaim`
-    ##
-    enabled: true
-    ## @param secondary.persistence.storageClass MySQL secondary 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: ""
-    ## @param secondary.persistence.annotations MySQL secondary persistent volume claim annotations
-    ##
-    annotations: {}
-    ## @param secondary.persistence.accessModes MySQL secondary persistent volume access Modes
-    ##
-    accessModes:
-      - ReadWriteOnce
-    ## @param secondary.persistence.size MySQL secondary persistent volume size
-    ##
-    size: 8Gi
-    ## @param secondary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-  ## @param secondary.extraVolumes Optionally specify extra list of additional volumes to the MySQL secondary pod(s)
-  ##
-  extraVolumes: []
-  ## @param secondary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s)
-  ##
-  extraVolumeMounts: []
-  ## @param secondary.initContainers Add additional init containers for the MySQL secondary pod(s)
-  ##
-  initContainers: []
-  ## @param secondary.sidecars Add additional sidecar containers for the MySQL secondary pod(s)
-  ##
-  sidecars: []
-  ## MySQL Secondary Service parameters
-  ##
-  service:
-    ## @param secondary.service.type MySQL secondary Kubernetes service type
-    ##
-    type: ClusterIP
-    ## @param secondary.service.ports.mysql MySQL secondary Kubernetes service port
-    ##
-    ports:
-      mysql: 3306
-    ## @param secondary.service.nodePorts.mysql MySQL secondary Kubernetes service node port
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
-    ##
-    nodePorts:
-      mysql: ""
-    ## @param secondary.service.clusterIP MySQL secondary Kubernetes service clusterIP IP
-    ## e.g:
-    ## clusterIP: None
-    ##
-    clusterIP: ""
-    ## @param secondary.service.loadBalancerIP MySQL secondary loadBalancerIP if service type is `LoadBalancer`
-    ## Set the LoadBalancer service type to internal only
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
-    ##
-    loadBalancerIP: ""
-    ## @param secondary.service.externalTrafficPolicy Enable client source IP preservation
-    ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
-    ##
-    externalTrafficPolicy: Cluster
-    ## @param secondary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL secondary service is LoadBalancer
-    ## 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: []
-    ## @param secondary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
-    ##
-    extraPorts: []
-    ## @param secondary.service.annotations Additional custom annotations for MySQL secondary service
-    ##
-    annotations: {}
-    ## @param secondary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
-    ## If "ClientIP", consecutive client requests will be directed to the same Pod
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
-    ##
-    sessionAffinity: None
-    ## @param secondary.service.sessionAffinityConfig Additional settings for the sessionAffinity
-    ## sessionAffinityConfig:
-    ##   clientIP:
-    ##     timeoutSeconds: 300
-    ##
-    sessionAffinityConfig: {}
-  ## MySQL secondary Pod Disruption Budget configuration
-  ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-  ##
-  pdb:
-    ## @param secondary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL secondary pods
-    ##
-    create: false
-    ## @param secondary.pdb.minAvailable Minimum number/percentage of MySQL secondary pods that should remain scheduled
-    ##
-    minAvailable: 1
-    ## @param secondary.pdb.maxUnavailable Maximum number/percentage of MySQL secondary pods that may be made unavailable
-    ##
-    maxUnavailable: ""
-  ## @param secondary.podLabels Additional pod labels for MySQL secondary pods
-  ##
-  podLabels: {}
-
-## @section RBAC parameters
-
-## MySQL pods ServiceAccount
-## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
-##
-serviceAccount:
-  ## @param serviceAccount.create Enable the creation of a ServiceAccount for MySQL pods
-  ##
-  create: true
-  ## @param serviceAccount.name Name of the created ServiceAccount
-  ## If not set and create is true, a name is generated using the mysql.fullname template
-  ##
-  name: ""
-  ## @param serviceAccount.annotations Annotations for MySQL Service Account
-  ##
-  annotations: {}
-  ## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account
-  ##
-  automountServiceAccountToken: true
-
-## Role Based Access
-## ref: https://kubernetes.io/docs/admin/authorization/rbac/
-##
-rbac:
-  ## @param rbac.create Whether to create & use RBAC resources or not
-  ##
-  create: false
-  ## @param rbac.rules Custom RBAC rules to set
-  ## e.g:
-  ## rules:
-  ##   - apiGroups:
-  ##       - ""
-  ##     resources:
-  ##       - pods
-  ##     verbs:
-  ##       - get
-  ##       - list
-  ##
-  rules: []
-
-## @section Network Policy
-
-## MySQL Nework Policy configuration
-##
-networkPolicy:
-  ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources
-  ##
-  enabled: false
-  ## @param networkPolicy.allowExternal The Policy model to apply.
-  ## When set to false, only pods with the correct
-  ## client label will have network access to the port MySQL is listening
-  ## on. When true, MySQL will accept connections from any source
-  ## (with the correct destination port).
-  ##
-  allowExternal: true
-  ## @param networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed to MySQL
-  ## If explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
-  ## and that match other criteria, the ones that have the good label, can reach the DB.
-  ## But sometimes, we want the DB to be accessible to clients from other namespaces, in this case, we can use this
-  ## LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
-  ##
-  ## Example:
-  ## explicitNamespacesSelector:
-  ##   matchLabels:
-  ##     role: frontend
-  ##   matchExpressions:
-  ##    - {key: role, operator: In, values: [frontend]}
-  ##
-  explicitNamespacesSelector: {}
-
-## @section Volume Permissions parameters
-
-## Init containers parameters:
-## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
-##
-volumePermissions:
-  ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup`
-  ##
-  enabled: false
-  ## @param volumePermissions.image.registry Init container volume-permissions image registry
-  ## @param volumePermissions.image.repository Init container volume-permissions image repository
-  ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
-  ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-  ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
-  ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
-  ##
-  image:
-    registry: docker.io
-    repository: bitnami/bitnami-shell
-    tag: 11-debian-11-r39
-    digest: ""
-    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/
-    ## e.g:
-    ## pullSecrets:
-    ##   - myRegistryKeySecretName
-    ##
-    pullSecrets: []
-  ## @param volumePermissions.resources Init container volume-permissions resources
-  ##
-  resources: {}
-
-## @section Metrics parameters
-
-## Mysqld Prometheus exporter parameters
-##
-metrics:
-  ## @param metrics.enabled Start a side-car prometheus exporter
-  ##
-  enabled: false
-  ## @param metrics.image.registry Exporter image registry
-  ## @param metrics.image.repository Exporter image repository
-  ## @param metrics.image.tag Exporter image tag (immutable tags are recommended)
-  ## @param metrics.image.digest Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-  ## @param metrics.image.pullPolicy Exporter image pull policy
-  ## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
-  ##
-  image:
-    registry: docker.io
-    repository: bitnami/mysqld-exporter
-    tag: 0.14.0-debian-11-r45
-    digest: ""
-    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/
-    ## e.g:
-    ## pullSecrets:
-    ##   - myRegistryKeySecretName
-    ##
-    pullSecrets: []
-  ## MySQL Prometheus exporter service parameters
-  ## Mysqld Prometheus exporter liveness and readiness probes
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.service.type Kubernetes service type for MySQL Prometheus Exporter
-  ## @param metrics.service.port MySQL Prometheus Exporter service port
-  ## @param metrics.service.annotations [object] Prometheus exporter service annotations
-  ##
-  service:
-    type: ClusterIP
-    port: 9104
-    annotations:
-      prometheus.io/scrape: "true"
-      prometheus.io/port: "{{ .Values.metrics.service.port }}"
-  ## @param metrics.extraArgs.primary Extra args to be passed to mysqld_exporter on Primary pods
-  ## @param metrics.extraArgs.secondary Extra args to be passed to mysqld_exporter on Secondary pods
-  ## 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: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param metrics.resources.limits The resources limits for MySQL prometheus exporter containers
-  ## @param metrics.resources.requests The requested resources for MySQL prometheus exporter containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 100m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 100m
-    ##    memory: 256Mi
-    requests: {}
-  ## Mysqld Prometheus exporter liveness probe
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.livenessProbe.enabled Enable livenessProbe
-  ## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 120
-    periodSeconds: 10
-    timeoutSeconds: 1
-    successThreshold: 1
-    failureThreshold: 3
-  ## Mysqld Prometheus exporter readiness probe
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.readinessProbe.enabled Enable readinessProbe
-  ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 30
-    periodSeconds: 10
-    timeoutSeconds: 1
-    successThreshold: 1
-    failureThreshold: 3
-  ## Prometheus Service Monitor
-  ## ref: https://github.com/coreos/prometheus-operator
-  ##
-  serviceMonitor:
-    ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
-    ##
-    enabled: false
-    ## @param metrics.serviceMonitor.namespace Specify the namespace in which the serviceMonitor resource will be created
-    ##
-    namespace: ""
-    ## @param metrics.serviceMonitor.jobLabel The nabitnamime of the label on the target service to use as the job name in prometheus.
-    ##
-    jobLabel: ""
-    ## @param metrics.serviceMonitor.interval Specify the interval at which metrics should be scraped
-    ##
-    interval: 30s
-    ## @param metrics.serviceMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
-    ## e.g:
-    ## scrapeTimeout: 30s
-    ##
-    scrapeTimeout: ""
-    ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
-    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
-    ##
-    relabelings: []
-    ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
-    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
-    ##
-    metricRelabelings: []
-    ## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
-    ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
-    ##
-    ## selector:
-    ##   prometheus: my-prometheus
-    ##
-    selector: {}
-    ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
-    ##
-    honorLabels: false
-    ## @param metrics.serviceMonitor.labels 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
-    ##
-    labels: {}
-    ## @param metrics.serviceMonitor.annotations ServiceMonitor annotations
-    ##
-    annotations: {}
-
-  ## Prometheus Operator prometheusRule configuration
-  ##
-  prometheusRule:
-    ## @param metrics.prometheusRule.enabled Creates a Prometheus Operator prometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
-    ##
-    enabled: false
-    ## @param metrics.prometheusRule.namespace Namespace for the prometheusRule Resource (defaults to the Release Namespace)
-    ##
-    namespace: ""
-    ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so prometheusRule will be discovered by Prometheus
-    ##
-    additionalLabels: {}
-    ## @param metrics.prometheusRule.rules Prometheus Rule definitions
-    ##  - alert: Mysql-Down
-    ##    expr: absent(up{job="mysql"} == 1)
-    ##    for: 5m
-    ##    labels:
-    ##      severity: warning
-    ##      service: mariadb
-    ##    annotations:
-    ##      message: 'MariaDB instance {{`{{`}} $labels.instance {{`}}`}}  is down'
-    ##      summary: MariaDB instance is down
-    ##
-    rules: []
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/values.schema.json b/addons/mysql-cluster/5.7/chart/mysql-cluster/values.schema.json
deleted file mode 100644
index f81d531d..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/values.schema.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
-  "$schema": "http://json-schema.org/schema#",
-  "type": "object",
-  "properties": {
-    "architecture": {
-      "type": "string",
-      "title": "MySQL architecture",
-      "form": true,
-      "description": "Allowed values: `standalone` `mgr` or `replication`",
-      "enum": ["standalone", "replication", "mgr"]
-    },
-    "auth": {
-      "type": "object",
-      "title": "Authentication configuration",
-      "form": true,
-      "required": ["username", "password"],
-      "if": {
-        "properties": {
-          "createDatabase":  { "enum": [ true ] }
-        }
-      },
-      "then": {
-        "properties": {
-          "database": {
-            "pattern": "[a-zA-Z0-9]{1,64}"
-          }
-        }
-      },
-      "properties": {
-        "rootPassword": {
-          "type": "string",
-          "title": "MySQL root password",
-          "description": "Defaults to a random 10-character alphanumeric string if not set"
-        },
-        "database": {
-          "type": "string",
-          "title": "MySQL custom database name",
-          "maxLength": 64
-        },
-        "username": {
-          "type": "string",
-          "title": "MySQL custom username"
-        },
-        "password": {
-          "type": "string",
-          "title": "MySQL custom password"
-        },
-        "replicationUser": {
-          "type": "string",
-          "title": "MySQL replication username"
-        },
-        "replicationPassword": {
-          "type": "string",
-          "title": "MySQL replication password"
-        },
-        "createDatabase": {
-          "type": "boolean",
-          "title": "MySQL create custom database"
-        }
-      }
-    },
-    "primary": {
-      "type": "object",
-      "title": "Primary database configuration",
-      "form": true,
-      "properties": {
-        "podSecurityContext": {
-          "type": "object",
-          "title": "MySQL primary Pod security context",
-          "properties": {
-            "enabled": {
-              "type": "boolean",
-              "default": false
-            },
-            "fsGroup": {
-              "type": "integer",
-              "default": 1001,
-              "hidden": {
-                "value": false,
-                "path": "primary/podSecurityContext/enabled"
-              }
-            }
-          }
-        },
-        "containerSecurityContext": {
-          "type": "object",
-          "title": "MySQL primary container security context",
-          "properties": {
-            "enabled": {
-              "type": "boolean",
-              "default": false
-            },
-            "runAsUser": {
-              "type": "integer",
-              "default": 1001,
-              "hidden": {
-                "value": false,
-                "path": "primary/containerSecurityContext/enabled"
-              }
-            }
-          }
-        },
-        "persistence": {
-          "type": "object",
-          "title": "Enable persistence using Persistent Volume Claims",
-          "properties": {
-            "enabled": {
-              "type": "boolean",
-              "default": true,
-              "title": "If true, use a Persistent Volume Claim, If false, use emptyDir"
-            },
-            "size": {
-              "type": "string",
-              "title": "Persistent Volume Size",
-              "form": true,
-              "render": "slider",
-              "sliderMin": 1,
-              "sliderUnit": "Gi",
-              "hidden": {
-                "value": false,
-                "path": "primary/persistence/enabled"
-              }
-            }
-          }
-        }
-      }
-    },
-    "secondary": {
-      "type": "object",
-      "title": "Secondary database configuration",
-      "form": true,
-      "properties": {
-        "podSecurityContext": {
-          "type": "object",
-          "title": "MySQL secondary Pod security context",
-          "properties": {
-            "enabled": {
-              "type": "boolean",
-              "default": false
-            },
-            "fsGroup": {
-              "type": "integer",
-              "default": 1001,
-              "hidden": {
-                "value": false,
-                "path": "secondary/podSecurityContext/enabled"
-              }
-            }
-          }
-        },
-        "containerSecurityContext": {
-          "type": "object",
-          "title": "MySQL secondary container security context",
-          "properties": {
-            "enabled": {
-              "type": "boolean",
-              "default": false
-            },
-            "runAsUser": {
-              "type": "integer",
-              "default": 1001,
-              "hidden": {
-                "value": false,
-                "path": "secondary/containerSecurityContext/enabled"
-              }
-            }
-          }
-        },
-        "persistence": {
-          "type": "object",
-          "title": "Enable persistence using Persistent Volume Claims",
-          "properties": {
-            "enabled": {
-              "type": "boolean",
-              "default": true,
-              "title": "If true, use a Persistent Volume Claim, If false, use emptyDir"
-            },
-            "size": {
-              "type": "string",
-              "title": "Persistent Volume Size",
-              "form": true,
-              "render": "slider",
-              "sliderMin": 1,
-              "sliderUnit": "Gi",
-              "hidden": {
-                "value": false,
-                "path": "secondary/persistence/enabled"
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/addons/mysql-cluster/5.7/chart/mysql-cluster/values.yaml b/addons/mysql-cluster/5.7/chart/mysql-cluster/values.yaml
deleted file mode 100644
index 976bd7e8..00000000
--- a/addons/mysql-cluster/5.7/chart/mysql-cluster/values.yaml
+++ /dev/null
@@ -1,886 +0,0 @@
-## @section Global parameters
-## 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, imagePullSecrets and storageClass
-
-## @param global.imageRegistry Global Docker image registry
-## @param global.imagePullSecrets Global Docker registry secret names as an array
-## @param global.storageClass Global StorageClass for Persistent Volume(s)
-##
-global:
-  imageRegistry: ""
-  ## E.g.
-  ## imagePullSecrets:
-  ##   - myRegistryKeySecretName
-  ##
-  imagePullSecrets: []
-  storageClass: ""
-
-## @section Common parameters
-
-## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
-##
-kubeVersion: ""
-## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
-##
-nameOverride: ""
-## @param fullnameOverride String to fully override common.names.fullname template
-##
-fullnameOverride: ""
-## @param namespaceOverride String to fully override common.names.namespace
-##
-namespaceOverride: ""
-## @param clusterDomain Cluster domain
-##
-clusterDomain: cluster.local
-## @param commonAnnotations Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
-##
-commonAnnotations: {}
-## @param commonLabels Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
-##
-commonLabels: {}
-## @param extraDeploy Array with extra yaml to deploy with the chart. Evaluated as a template
-##
-extraDeploy: []
-
-## Enable diagnostic mode in the deployment
-##
-diagnosticMode:
-  ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
-  ##
-  enabled: false
-  ## @param diagnosticMode.command Command to override all containers in the deployment
-  ##
-  command:
-    - sleep
-  ## @param diagnosticMode.args Args to override all containers in the deployment
-  ##
-  args:
-    - infinity
-
-## @section MySQL common parameters
-
-## Bitnami MySQL image
-## ref: https://hub.docker.com/r/bitnami/mysql/tags/
-## @param image.registry MySQL image registry
-## @param image.repository MySQL image repository
-## @param image.tag MySQL image tag (immutable tags are recommended)
-## @param image.digest MySQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-## @param image.pullPolicy MySQL image pull policy
-## @param image.pullSecrets Specify docker-registry secret names as an array
-## @param image.debug Specify if debug logs should be enabled
-##
-image:
-  registry: docker.io
-  repository: bitnami/mysql
-  tag: 8.0.30-debian-11-r27
-  digest: ""
-  ## Specify a imagePullPolicy
-  ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
-  ## ref: https://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/or NAMI debugging in the image
-  ##
-  debug: false
-## @param architecture MySQL architecture (`standalone` `mgr` or `replication`)
-##
-architecture: mgr
-## MySQL Authentication parameters
-##
-auth:
-  ## @param auth.rootPassword Password for the `root` user. Ignored if existing secret is provided
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-the-root-password-on-first-run
-  ##
-  rootPassword: ""
-  ## @param auth.createDatabase Wheter to create the .Values.auth.database or not
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
-  ##
-  createDatabase: true
-  ## @param auth.database Name for a custom database to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
-  ##
-  database: "my_database"
-  ## @param auth.username Name for a custom user to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-user-on-first-run
-  ##
-  username: ""
-  ## @param auth.password Password for the new user. Ignored if existing secret is provided
-  ##
-  password: ""
-  ## @param auth.replicationUser MySQL replication user
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-up-a-replication-cluster
-  ##
-  replicationUser: replicator
-  ## @param auth.replicationPassword MySQL replication user password. Ignored if existing secret is provided
-  ##
-  replicationPassword: "user4_repUU"
-  ## @param auth.existingSecret Use existing secret for password details. The secret has to contain the keys `mysql-root-password`, `mysql-replication-password` and `mysql-password`
-  ## NOTE: When it's set the auth.rootPassword, auth.password, auth.replicationPassword are ignored.
-  ##
-  existingSecret: ""
-  ## @param auth.usePasswordFiles Mount credentials as files instead of using an environment variable
-  ##
-  usePasswordFiles: false
-  ## @param auth.customPasswordFiles Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication`
-  ## Example:
-  ## customPasswordFiles:
-  ##   root: /vault/secrets/mysql-root
-  ##   user: /vault/secrets/mysql-user
-  ##   replicator: /vault/secrets/mysql-replicator
-  ##
-  customPasswordFiles: {}
-## @param initdbScripts Dictionary of initdb scripts
-## Specify dictionary of scripts to be run at first boot
-## Example:
-## initdbScripts:
-##   my_init_script.sh: |
-##      #!/bin/bash
-##      echo "Do something."
-##
-initdbScripts: 
-  int-mysql.sh: |
-    #!/bin/bash
-    set -ex
-
-    # Generate mysql server-id from pod ordinal index.
-    [[ $`hostname` =~ -([0-9]+)$ ]] || exit 1
-    ## Generate ordinal 
-    ordinal=${BASH_REMATCH[1]}
-
-    mgr_host=`hostname`
-    svc_mgr_host=${mgr_host%-*}
-    ## Generate path
-    base_conf_path=/bitnami/mysql/conf
-    mkdir $base_conf_path
-    base_conf_file=$base_conf_path/server-id.cnf
-    ############################################
-    ## 
-    ##  Generate config 
-    ## 
-    ############################################
-    echo [mysqld] > $base_conf_file
-    # Add an offset to avoid reserved server-id=0 value.
-    echo server-id=$((100 + $ordinal)) >> $base_conf_file
-    # Copy appropriate conf.d files from config-map to emptyDir.
-    echo loose-group_replication_local_address=$mgr_host.$svc_mgr_host:24901 >> $base_conf_file
-    echo report_host=$mgr_host.$svc_mgr_host >> $base_conf_file
-    echo loose-group_replication_group_seeds="$svc_mgr_host-0.$svc_mgr_host:24901,$svc_mgr_host-1.$svc_mgr_host:24901,$svc_mgr_host-2.$svc_mgr_host:24901" >> /opt/bitnami/mysql/conf/bitnami/server-id.cnf
-
-## @param initdbScriptsConfigMap ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)
-##
-initdbScriptsConfigMap: ""
-
-## @section MySQL Primary parameters
-
-primary:
-  ## @param primary.name Name of the primary database (eg primary, master, leader, ...)
-  ##
-  name: mgr
-  ## @param primary.replicaCount Number of MySQL mgr instances
-  ##
-  replicaCount: 3
-  ## @param primary.command Override default container command on MySQL Primary container(s) (useful when using custom images)
-  ##
-  command: []
-  ## @param primary.args Override default container args on MySQL Primary container(s) (useful when using custom images)
-  ##
-  args: []
-  ## @param primary.lifecycleHooks for the MySQL Primary container(s) to automate configuration before or after startup
-  ##
-  lifecycleHooks: {}
-  ## @param primary.hostAliases Deployment pod host aliases
-  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
-  ##
-  hostAliases: []
-  ## @param primary.configuration [string] Configure MySQL Primary with a custom my.cnf file
-  ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
-  ##
-  configuration: |-
-    [mysqld]
-    # server
-    default_authentication_plugin=mysql_native_password
-    skip-name-resolve
-    explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
-    max_allowed_packet=16M
-    bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
-    slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
-    long_query_time=10.0
-    log_timestamps=system
-    disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
-    sql_require_primary_key=ON 
-    # Replication
-  
-    log_bin=mysql-bin
-    binlog_format=ROW 
-    gtid_mode=ON
-    enforce_gtid_consistency=ON
-    log_replica_updates=ON 
-    master_info_repository=TABLE 
-    relay_log_info_repository=TABLE 
-    #super_read_only=ON 
-    #binlog_transaction_dependency_tarcking=WRITEST 
-    transaction_write_set_extraction=XXHASH64
-
-    # Multi-threaded Replication
-    slave_parallel_type=LOGICAL_CLOCK
-    slave_preserve_commit_order=ON 
-    slave_parallel_workers=4
-
-    # Group Replication Settings 
-    plugin_load_add="group_replication.so"
-    loose-group_replication_recovery_get_public_key=ON 
-    loose-group_replication_recovery_use_ssl=on
-    loose-group_replication_group_name="{{uuidv4}}"
-    # group_replication_ip_allowlist=
-
-    loose-group_replication_bootstrap_group=OFF
-    loose-group_replication_start_on_boot=OFF
-
-    [client]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
-    default-character-set=UTF8MB4
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
- 
-    [manager]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    
-    !includedir /bitnami/mysql/conf/
-
-  ## @param primary.existingConfigmap Name of existing ConfigMap with MySQL Primary configuration.
-  ## NOTE: When it's set the 'configuration' parameter is ignored
-  ##
-  existingConfigmap: ""
-  ## @param primary.updateStrategy.type Update strategy type for the MySQL primary statefulset
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
-  ##
-  updateStrategy:
-    type: RollingUpdate
-  ## @param primary.podAnnotations Additional pod annotations for MySQL primary pods
-  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-  ##
-  podAnnotations: {}
-  ## @param primary.podAffinityPreset MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAffinityPreset: ""
-  ## @param primary.podAntiAffinityPreset MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAntiAffinityPreset: soft
-  ## MySQL Primary node affinity preset
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
-  ##
-  nodeAffinityPreset:
-    ## @param primary.nodeAffinityPreset.type MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-    ##
-    type: ""
-    ## @param primary.nodeAffinityPreset.key MySQL primary node label key to match Ignored if `primary.affinity` is set.
-    ## E.g.
-    ## key: "kubernetes.io/e2e-az-name"
-    ##
-    key: ""
-    ## @param primary.nodeAffinityPreset.values MySQL primary node label values to match. Ignored if `primary.affinity` is set.
-    ## E.g.
-    ## values:
-    ##   - e2e-az1
-    ##   - e2e-az2
-    ##
-    values: []
-  ## @param primary.affinity Affinity for MySQL 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: {}
-  ## @param primary.nodeSelector Node labels for MySQL primary pods assignment
-  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
-  ##
-  nodeSelector: {}
-  ## @param primary.tolerations Tolerations for MySQL primary pods assignment
-  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-  ##
-  tolerations: []
-  ## @param primary.priorityClassName MySQL primary pods' priorityClassName
-  ##
-  priorityClassName: ""
-  ## @param primary.schedulerName Name of the k8s scheduler (other than default)
-  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-  ##
-  schedulerName: ""
-  ## @param primary.terminationGracePeriodSeconds In seconds, time the given to the MySQL primary pod needs to terminate gracefully
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
-  ##
-  terminationGracePeriodSeconds: ""
-  ## @param primary.topologySpreadConstraints Topology Spread Constraints for pod assignment
-  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
-  ## The value is evaluated as a template
-  ##
-  topologySpreadConstraints: []
-  ## @param primary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL primary pods
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
-  ##
-  podManagementPolicy: ""
-  ## MySQL primary Pod security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
-  ## @param primary.podSecurityContext.enabled Enable security context for MySQL primary pods
-  ## @param primary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
-  ##
-  podSecurityContext:
-    enabled: true
-    fsGroup: 1001
-  ## MySQL primary container security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
-  ## @param primary.containerSecurityContext.enabled MySQL primary container securityContext
-  ## @param primary.containerSecurityContext.runAsUser User ID for the MySQL primary container
-  ## @param primary.containerSecurityContext.runAsNonRoot Set MySQL primary container's Security Context runAsNonRoot
-  ##
-  containerSecurityContext:
-    enabled: true
-    runAsUser: 1001
-    runAsNonRoot: true
-  ## MySQL primary container's resource requests and limits
-  ## ref: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param primary.resources.limits The resources limits for MySQL primary containers
-  ## @param primary.resources.requests The requested resources for MySQL primary containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    requests: {}
-  ## Configure extra options for liveness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.livenessProbe.enabled Enable livenessProbe
-  ## @param primary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param primary.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param primary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param primary.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param primary.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for readiness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.readinessProbe.enabled Enable readinessProbe
-  ## @param primary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param primary.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param primary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param primary.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param primary.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for startupProbe probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.startupProbe.enabled Enable startupProbe
-  ## @param primary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
-  ## @param primary.startupProbe.periodSeconds Period seconds for startupProbe
-  ## @param primary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
-  ## @param primary.startupProbe.failureThreshold Failure threshold for startupProbe
-  ## @param primary.startupProbe.successThreshold Success threshold for startupProbe
-  ##
-  startupProbe:
-    enabled: true
-    initialDelaySeconds: 15
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 10
-    successThreshold: 1
-  ## @param primary.customLivenessProbe Override default liveness probe for MySQL primary containers
-  ##
-  customLivenessProbe: {}
-  ## @param primary.customReadinessProbe Override default readiness probe for MySQL primary containers
-  ##
-  customReadinessProbe: {}
-  ## @param primary.customStartupProbe Override default startup probe for MySQL primary containers
-  ##
-  customStartupProbe: {}
-  ## @param primary.extraFlags MySQL 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: ""
-  ## @param primary.extraEnvVars Extra environment variables to be set on MySQL primary containers
-  ## E.g.
-  ## extraEnvVars:
-  ##  - name: TZ
-  ##    value: "Europe/Paris"
-  ##
-  extraEnvVars: []
-  ## @param primary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL primary containers
-  ##
-  extraEnvVarsCM: ""
-  ## @param primary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL primary containers
-  ##
-  extraEnvVarsSecret: ""
-  ## Enable persistence using Persistent Volume Claims
-  ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
-  ##
-  persistence:
-    ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir
-    ##
-    enabled: true
-    ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas
-    ## NOTE: When it's set the rest of persistence parameters are ignored
-    ##
-    existingClaim: ""
-    ## @param primary.persistence.storageClass MySQL primary 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: ""
-    ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations
-    ##
-    annotations: {}
-    ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes
-    ##
-    accessModes:
-      - ReadWriteOnce
-    ## @param primary.persistence.size MySQL primary persistent volume size
-    ##
-    size: 8Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-  ## @param primary.extraVolumes Optionally specify extra list of additional volumes to the MySQL Primary pod(s)
-  ##
-  extraVolumes: []
-  ## @param primary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s)
-  ##
-  extraVolumeMounts: []
-  ## @param primary.initContainers Add additional init containers for the MySQL Primary pod(s)
-  ##
-  initContainers: []
-  ## @param primary.sidecars Add additional sidecar containers for the MySQL Primary pod(s)
-  ##
-  sidecars: []
-  ## MySQL Primary Service parameters
-  ##
-  service:
-    ## @param primary.service.type MySQL Primary K8s service type
-    ##
-    type: ClusterIP
-    ## @param primary.service.ports.mysql MySQL Primary K8s service port
-    ##
-    ports:
-      mysql: 3306
-    ## @param primary.service.nodePorts.mysql MySQL Primary K8s service node port
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
-    ##
-    nodePorts:
-      mysql: ""
-    ## @param primary.service.clusterIP MySQL Primary K8s service clusterIP IP
-    ## e.g:
-    ## clusterIP: None
-    ##
-    clusterIP: ""
-    ## @param primary.service.loadBalancerIP MySQL Primary loadBalancerIP if service type is `LoadBalancer`
-    ## Set the LoadBalancer service type to internal only
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
-    ##
-    loadBalancerIP: ""
-    ## @param primary.service.externalTrafficPolicy Enable client source IP preservation
-    ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
-    ##
-    externalTrafficPolicy: Cluster
-    ## @param primary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL Primary service is LoadBalancer
-    ## 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: []
-    ## @param primary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
-    ##
-    extraPorts: []
-    ## @param primary.service.annotations Additional custom annotations for MySQL primary service
-    ##
-    annotations: {}
-    ## @param primary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
-    ## If "ClientIP", consecutive client requests will be directed to the same Pod
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
-    ##
-    sessionAffinity: None
-    ## @param primary.service.sessionAffinityConfig Additional settings for the sessionAffinity
-    ## sessionAffinityConfig:
-    ##   clientIP:
-    ##     timeoutSeconds: 300
-    ##
-    sessionAffinityConfig: {}
-  ## MySQL primary Pod Disruption Budget configuration
-  ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-  ##
-  pdb:
-    ## @param primary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL primary pods
-    ##
-    create: false
-    ## @param primary.pdb.minAvailable Minimum number/percentage of MySQL primary pods that should remain scheduled
-    ##
-    minAvailable: 1
-    ## @param primary.pdb.maxUnavailable Maximum number/percentage of MySQL primary pods that may be made unavailable
-    ##
-    maxUnavailable: ""
-  ## @param primary.podLabels MySQL Primary pod label. If labels are same as commonLabels , this will take precedence
-  ##
-  podLabels: {}
-
-## @section RBAC parameters
-
-## MySQL pods ServiceAccount
-## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
-##
-serviceAccount:
-  ## @param serviceAccount.create Enable the creation of a ServiceAccount for MySQL pods
-  ##
-  create: true
-  ## @param serviceAccount.name Name of the created ServiceAccount
-  ## If not set and create is true, a name is generated using the mysql.fullname template
-  ##
-  name: ""
-  ## @param serviceAccount.annotations Annotations for MySQL Service Account
-  ##
-  annotations: {}
-  ## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account
-  ##
-  automountServiceAccountToken: true
-
-## Role Based Access
-## ref: https://kubernetes.io/docs/admin/authorization/rbac/
-##
-rbac:
-  ## @param rbac.create Whether to create & use RBAC resources or not
-  ##
-  create: false
-  ## @param rbac.rules Custom RBAC rules to set
-  ## e.g:
-  ## rules:
-  ##   - apiGroups:
-  ##       - ""
-  ##     resources:
-  ##       - pods
-  ##     verbs:
-  ##       - get
-  ##       - list
-  ##
-  rules: []
-
-## @section Network Policy
-
-## MySQL Nework Policy configuration
-##
-networkPolicy:
-  ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources
-  ##
-  enabled: false
-  ## @param networkPolicy.allowExternal The Policy model to apply.
-  ## When set to false, only pods with the correct
-  ## client label will have network access to the port MySQL is listening
-  ## on. When true, MySQL will accept connections from any source
-  ## (with the correct destination port).
-  ##
-  allowExternal: true
-  ## @param networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed to MySQL
-  ## If explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
-  ## and that match other criteria, the ones that have the good label, can reach the DB.
-  ## But sometimes, we want the DB to be accessible to clients from other namespaces, in this case, we can use this
-  ## LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
-  ##
-  ## Example:
-  ## explicitNamespacesSelector:
-  ##   matchLabels:
-  ##     role: frontend
-  ##   matchExpressions:
-  ##    - {key: role, operator: In, values: [frontend]}
-  ##
-  explicitNamespacesSelector: {}
-
-## @section Volume Permissions parameters
-
-## Init containers parameters:
-## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
-##
-volumePermissions:
-  ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup`
-  ##
-  enabled: false
-  ## @param volumePermissions.image.registry Init container volume-permissions image registry
-  ## @param volumePermissions.image.repository Init container volume-permissions image repository
-  ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
-  ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-  ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
-  ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
-  ##
-  image:
-    registry: docker.io
-    repository: bitnami/bitnami-shell
-    tag: 11-debian-11-r39
-    digest: ""
-    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/
-    ## e.g:
-    ## pullSecrets:
-    ##   - myRegistryKeySecretName
-    ##
-    pullSecrets: []
-  ## @param volumePermissions.resources Init container volume-permissions resources
-  ##
-  resources: {}
-
-## @section Metrics parameters
-
-## Mysqld Prometheus exporter parameters
-##
-metrics:
-  ## @param metrics.enabled Start a side-car prometheus exporter
-  ##
-  enabled: false
-  ## @param metrics.image.registry Exporter image registry
-  ## @param metrics.image.repository Exporter image repository
-  ## @param metrics.image.tag Exporter image tag (immutable tags are recommended)
-  ## @param metrics.image.digest Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-  ## @param metrics.image.pullPolicy Exporter image pull policy
-  ## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
-  ##
-  image:
-    registry: docker.io
-    repository: bitnami/mysqld-exporter
-    tag: 0.14.0-debian-11-r45
-    digest: ""
-    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/
-    ## e.g:
-    ## pullSecrets:
-    ##   - myRegistryKeySecretName
-    ##
-    pullSecrets: []
-  ## MySQL Prometheus exporter service parameters
-  ## Mysqld Prometheus exporter liveness and readiness probes
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.service.type Kubernetes service type for MySQL Prometheus Exporter
-  ## @param metrics.service.port MySQL Prometheus Exporter service port
-  ## @param metrics.service.annotations [object] Prometheus exporter service annotations
-  ##
-  service:
-    type: ClusterIP
-    port: 9104
-    annotations:
-      prometheus.io/scrape: "true"
-      prometheus.io/port: "{{ .Values.metrics.service.port }}"
-  ## @param metrics.extraArgs.primary Extra args to be passed to mysqld_exporter on Primary pods
-  ## @param metrics.extraArgs.secondary Extra args to be passed to mysqld_exporter on Secondary pods
-  ## 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: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param metrics.resources.limits The resources limits for MySQL prometheus exporter containers
-  ## @param metrics.resources.requests The requested resources for MySQL prometheus exporter containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 100m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 100m
-    ##    memory: 256Mi
-    requests: {}
-  ## Mysqld Prometheus exporter liveness probe
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.livenessProbe.enabled Enable livenessProbe
-  ## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 120
-    periodSeconds: 10
-    timeoutSeconds: 1
-    successThreshold: 1
-    failureThreshold: 3
-  ## Mysqld Prometheus exporter readiness probe
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.readinessProbe.enabled Enable readinessProbe
-  ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 30
-    periodSeconds: 10
-    timeoutSeconds: 1
-    successThreshold: 1
-    failureThreshold: 3
-  ## Prometheus Service Monitor
-  ## ref: https://github.com/coreos/prometheus-operator
-  ##
-  serviceMonitor:
-    ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
-    ##
-    enabled: false
-    ## @param metrics.serviceMonitor.namespace Specify the namespace in which the serviceMonitor resource will be created
-    ##
-    namespace: ""
-    ## @param metrics.serviceMonitor.jobLabel The nabitnamime of the label on the target service to use as the job name in prometheus.
-    ##
-    jobLabel: ""
-    ## @param metrics.serviceMonitor.interval Specify the interval at which metrics should be scraped
-    ##
-    interval: 30s
-    ## @param metrics.serviceMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
-    ## e.g:
-    ## scrapeTimeout: 30s
-    ##
-    scrapeTimeout: ""
-    ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
-    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
-    ##
-    relabelings: []
-    ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
-    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
-    ##
-    metricRelabelings: []
-    ## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
-    ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
-    ##
-    ## selector:
-    ##   prometheus: my-prometheus
-    ##
-    selector: {}
-    ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
-    ##
-    honorLabels: false
-    ## @param metrics.serviceMonitor.labels 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
-    ##
-    labels: {}
-    ## @param metrics.serviceMonitor.annotations ServiceMonitor annotations
-    ##
-    annotations: {}
-
-  ## Prometheus Operator prometheusRule configuration
-  ##
-  prometheusRule:
-    ## @param metrics.prometheusRule.enabled Creates a Prometheus Operator prometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
-    ##
-    enabled: false
-    ## @param metrics.prometheusRule.namespace Namespace for the prometheusRule Resource (defaults to the Release Namespace)
-    ##
-    namespace: ""
-    ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so prometheusRule will be discovered by Prometheus
-    ##
-    additionalLabels: {}
-    ## @param metrics.prometheusRule.rules Prometheus Rule definitions
-    ##  - alert: Mysql-Down
-    ##    expr: absent(up{job="mysql"} == 1)
-    ##    for: 5m
-    ##    labels:
-    ##      severity: warning
-    ##      service: mariadb
-    ##    annotations:
-    ##      message: 'MariaDB instance {{`{{`}} $labels.instance {{`}}`}}  is down'
-    ##      summary: MariaDB instance is down
-    ##
-    rules: []
diff --git a/addons/mysql-cluster/5.7/meta.yaml b/addons/mysql-cluster/5.7/meta.yaml
deleted file mode 100644
index 933d854a..00000000
--- a/addons/mysql-cluster/5.7/meta.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-name: mysql-cluster
-version: 5.7
-id: 01397d06-d5b1-4b3d-a7e0-d79e00dcd0f1
-description: "mysql-cluster"
-displayName: "mysql-cluster-5.7"
-metadata:
-  displayName: "mysql-cluster-5.7"
-  provider:
-    name: drycc
-    supportURL: https://mysql.io
-  documentationURL: https://github.com/drycc-addons/drycc-docker-mysql-cluster
-tags: mysql-cluster
-bindable: true
-instances_retrievable: true
-bindings_retrievable: true
-plan_updateable: true
-allow_parameters:
-- name: "networkPolicy.allowNamespaces"
-  description: "networkPolicy allowNamespaces config for values.yaml"
-archive: false
diff --git a/addons/mysql-cluster/5.7/plans/standard-10/bind.yaml b/addons/mysql-cluster/5.7/plans/standard-10/bind.yaml
deleted file mode 100644
index 1ed0e096..00000000
--- a/addons/mysql-cluster/5.7/plans/standard-10/bind.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-credential:
-  {{- if (eq .Values.primary.service.type "LoadBalancer") }}
-  - name: HOST
-    valueFrom:
-      serviceRef:
-        name: {{ include "common.names.fullname" . }}
-        jsonpath: '{ .status.loadBalancer.ingress[*].ip }'
-  {{- end }}
diff --git a/addons/mysql-cluster/5.7/plans/standard-10/create-instance-schema.json b/addons/mysql-cluster/5.7/plans/standard-10/create-instance-schema.json
deleted file mode 100644
index 66ebbaa0..00000000
--- a/addons/mysql-cluster/5.7/plans/standard-10/create-instance-schema.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "$schema": "http://json-schema.org/draft-04/schema#",
-  "type": "object",
-  "properties": {
-    "imagePullPolicy": {
-      "type": "string",
-      "enum": ["Always", "IfNotPresent", "Never"],
-      "default": "IfNotPresent",
-      "title": "Image pull policy"
-    }
-  }
-}
\ No newline at end of file
diff --git a/addons/mysql-cluster/5.7/plans/standard-10/meta.yaml b/addons/mysql-cluster/5.7/plans/standard-10/meta.yaml
deleted file mode 100644
index 77d57d42..00000000
--- a/addons/mysql-cluster/5.7/plans/standard-10/meta.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-name: "standard-10"
-id: cb371e93-74dd-4b86-8dfe-297d31142085
-description: "Mysql Cluster standard-10 plan which limit persistence size 10Gi."
-displayName: "standard-10"
-bindable: true
-maximum_polling_duration: 1800
diff --git a/addons/mysql-cluster/5.7/plans/standard-10/values.yaml b/addons/mysql-cluster/5.7/plans/standard-10/values.yaml
deleted file mode 100644
index cb1f2af7..00000000
--- a/addons/mysql-cluster/5.7/plans/standard-10/values.yaml
+++ /dev/null
@@ -1,48 +0,0 @@
-## @param fullnameOverride String to fully override common.names.fullname template
-##
-fullnameOverride: hb-mysql-cluster-standard-10
-
-## MinIO&reg; containers' resource requests and limits
-## ref: https://kubernetes.io/docs/user-guide/compute-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:'.
-## @param resources.limits The resources limits for the MinIO&reg; container
-## @param resources.requests The requested resources for the MinIO&reg; container
-##
-resources:
-  limits:
-    cpu: 1000m
-    memory: 1024Mi
-  requests:
-    cpu: 100m
-    memory: 512Mi
-
-## @section Persistence parameters
-
-## Enable persistence using Persistent Volume Claims
-## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
-##
-persistence:
-  ## @param persistence.enabled Enable MinIO&reg; data persistence using PVC. If false, use emptyDir
-  ##
-  enabled: true
-  ## @param persistence.storageClass PVC Storage Class for MinIO&reg; data volume
-  ## 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: ""
-  ## @param persistence.mountPath Data volume mount path
-  ##
-  mountPath: /data
-  ## @param persistence.accessModes PVC Access Modes for MinIO&reg; data volume
-  ##
-  accessModes:
-    - ReadWriteOnce
-  ## @param persistence.size PVC Storage Request for MinIO&reg; data volume
-  ##
-  size: 10Gi
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/Chart.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/Chart.yaml
index 69b90956..634f9453 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/Chart.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/Chart.yaml
@@ -4,14 +4,14 @@ apiVersion: v2
 appVersion: 8.0.30
 dependencies:
   - name: common
-    repository: https://charts.bitnami.com/bitnami
+    repository: oci://registry.drycc.cc/charts
     tags:
-      - bitnami-common
-    version: 2.x.x
+      - drycc-common
+    version: ~1.1.2
 description: MySQL is a fast, reliable, scalable, and easy to use open source relational database system. Designed to handle mission-critical, heavy-load production applications.
 engine: gotpl
-home: https://github.com/bitnami/charts/tree/master/bitnami/mysql
-icon: https://bitnami.com/assets/stacks/mysql/img/mysql-stack-220x234.png
+home: https://github.com/drycc/charts/tree/master/drycc/mysql
+icon: https://drycc.com/assets/stacks/mysql/img/mysql-stack-220x234.png
 keywords:
   - mysql
   - database
@@ -19,10 +19,10 @@ keywords:
   - cluster
   - high availability
 maintainers:
-  - name: Bitnami
-    url: https://github.com/bitnami/charts
+  - name: Drycc
+    url: https://github.com/drycc/charts
 name: mysql
 sources:
-  - https://github.com/bitnami/containers/tree/main/bitnami/mysql
+  - https://github.com/drycc/containers/tree/main/drycc/mysql
   - https://mysql.com
 version: 9.3.5
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/handler.md b/addons/mysql-cluster/8.0/chart/mysql-cluster/handler.md
deleted file mode 100644
index 3d7c2a5b..00000000
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/handler.md
+++ /dev/null
@@ -1,32 +0,0 @@
-echo Primary: my-release-mysql-primary.default.svc.cluster.local:3306
-echo Secondary: my-release-mysql-secondary.default.svc.cluster.local:3306
-
-Tip:
-
-  Watch the deployment status using the command: kubectl get pods -w --namespace default
-
-Services:
-
-  echo Primary: my-release-mysql-primary.default.svc.cluster.local:3306
-  echo Secondary: my-release-mysql-secondary.default.svc.cluster.local:3306
-
-Execute the following to get the administrator credentials:
-
-  echo Username: root
-  MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default my-release-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)
-
-To connect to your database:
-
-  1. Run a pod that you can use as a client:
-
-      kubectl run my-release-mysql-client --rm --tty -i --restart='Always' --image  docker.io/bitnami/mysql:8.0.30-debian-11-r27 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash 
-
-  2. To connect to primary service (read/write):
-
-      mysql -h my-release-mysql-primary.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
-
-  3. To connect to secondary service (read-only):
-
-      mysql -h my-release-mysql-secondary.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
-
-      mysq -uroot -p"$MYSQL_ROOT_PASSWORD"
\ No newline at end of file
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/int-mysql.sh b/addons/mysql-cluster/8.0/chart/mysql-cluster/int-mysql.sh
deleted file mode 100755
index 0e528ab0..00000000
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/int-mysql.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-  int-mysql.sh: |
-    #!/bin/bash
-    set -ex
-
-    # Generate mysql server-id from pod ordinal index.
-    [[ $`hostname` =~ -([0-9]+)$ ]] || exit 1
-    ordinal=${BASH_REMATCH[1]}
-    echo $ordinal
-    mgr_host=`hostname`
-    pre_mgr_host=${mgr_host%-*}
-    echo [mysqld] > /opt/bitnami/mysql/conf/bitnami/server-id.cnf
-    # Add an offset to avoid reserved server-id=0 value.
-    echo server-id=$((100 + $ordinal)) >> /opt/bitnami/mysql/conf/bitnami/server-id.cnf
-    # Copy appropriate conf.d files from config-map to emptyDir.
-    echo loose-group_replication_local_address=$mgr_host:24901 >> /opt/bitnami/mysql/conf/bitnami/server-id.cnf
-    echo loose-group_replication_group_seeds= "$pre_mgr_host-0.$pre_mgr_host-1:24901,$pre_mgr_host-2.mysql:24901" >> /opt/bitnami/mysql/conf/bitnami//server-id.cnf
-
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/mysql.conf b/addons/mysql-cluster/8.0/chart/mysql-cluster/mysql.conf
deleted file mode 100644
index b7dd8896..00000000
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/mysql.conf
+++ /dev/null
@@ -1,62 +0,0 @@
- [mysqld]
-    # server
-    default_authentication_plugin=mysql_native_password
-    skip-name-resolve
-    explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
-    max_allowed_packet=16M
-    bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
-    slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
-    long_query_time=10.0
-    log_timestamps=system
-    disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
-    sql_require_primary_key=ON 
-    # Replication
-  
-    log_bin=mysql-bin
-    binlog_format=ROW 
-    gtid_mode=ON
-    enforce_gtid_consistency=ON
-    log_slave_updates=ON 
-    master_info_repository=TABLE 
-    relay_log_info_repository=TABLE 
-    super_read_only=ON 
-    binlog_transaction_dependency_tarcking=WRITEST 
-    transaction_write_set_extraction=XXHASH64
-
-    # Multi-threaded Replication
-    slave_parallel_type=LOGICAL_CLOCK
-    slave_preserve_commit_order=ON 
-    slave_parallel_workers=4
-
-    # Group Replication Settings 
-    plugin_load_add="group_replication.so"
-    loose-group_replication_recovery_get_public_key=ON 
-    loose-group_replication_recovery_use_ssl=on
-    loose-group_replication_group_name="80d51c50-3c11-11ee-bd0f-080027fc0450" #TODO 
- 
-    loose-group_replication_bootstrap_group=OFF
-    loose-group_replication_start_on_boot=OFF
-
-    [client]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    default-character-set=UTF8
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-
-    [manager]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    
-    !includedir /opt/bitnami/mysql
\ No newline at end of file
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/_helpers.tpl b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/_helpers.tpl
index 322826f9..5286f9b7 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/_helpers.tpl
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/_helpers.tpl
@@ -1,3 +1,8 @@
+{{/*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{/* vim: set filetype=mustache: */}}
 
 {{- define "mysql.primary.fullname" -}}
@@ -8,8 +13,13 @@
 {{- end -}}
 {{- end -}}
 
-{{- define "mysql.secondary.fullname" -}}
-{{- printf "%s-%s" (include "common.names.fullname" .) .Values.secondary.name | trunc 63 | trimSuffix "-" -}}
+{{- define "mysql.router.fullname" -}}
+{{- printf "%s-%s" (include "common.names.fullname" .) .Values.router.name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+
+{{- define "mysql.cluster.fullname" -}}
+{{- printf "%s-%s" (include "common.names.fullname" .) .Values.cluster.name | trunc 63 | trimSuffix "-" -}}
 {{- end -}}
 
 {{/*
@@ -19,6 +29,20 @@ Return the proper MySQL image name
 {{- include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global) }}
 {{- end -}}
 
+{{/*
+Return the proper Router image name
+*/}}
+{{- define "router.image" -}}
+{{- include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global) }}
+{{- end -}}
+
+{{/*
+Return the proper Cluster image name
+*/}}
+{{- define "cluster.image" -}}
+{{- include "common.images.image" (dict "imageRoot" .Values.cluster.image "global" .Values.global) }}
+{{- end -}}
+
 {{/*
 Return the proper metrics image name
 */}}
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/cluster/job.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/cluster/job.yaml
new file mode 100644
index 00000000..d4cd0236
--- /dev/null
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/cluster/job.yaml
@@ -0,0 +1,118 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
+apiVersion: {{ include "common.capabilities.cronjob.apiVersion" . }}
+kind: Job
+metadata:
+  name: {{ include "mysql.cluster.fullname" . }} 
+  namespace: {{ include "common.names.namespace" . | quote }}
+  labels: {{- include "common.labels.standard" . | nindent 4 }}
+    app.kubernetes.io/component: primary
+    {{- if .Values.commonLabels }}
+    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- end }}
+  {{- if .Values.commonAnnotations }}
+  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+  {{- end }}
+
+spec:
+  template:
+    spec:
+      restartPolicy: Never
+      initContainers:
+        - name: init-wait
+          image: registry.uucin.com/drycc/python-dev:latest
+          imagePullPolicy: {{.Values.imagePullPolicy}}
+          args:
+          - netcat
+          - -v
+          - -u
+          - mysql://$(MYSQL_MASTER_HOST)-0.$(MYSQL_MASTER_HOST):$(MYSQL_MASTER_PORT_NUMBER),mysql://$(MYSQL_MASTER_HOST)-1.$(MYSQL_MASTER_HOST):$(MYSQL_MASTER_PORT_NUMBER),mysql://$(MYSQL_MASTER_HOST)-2.$(MYSQL_MASTER_HOST):$(MYSQL_MASTER_PORT_NUMBER)
+
+          env:
+            - name: MYSQL_MASTER_HOST
+              value: {{ include "mysql.primary.fullname" . }}
+            - name: MYSQL_MASTER_PORT_NUMBER
+              value: {{ .Values.primary.service.ports.mysql | quote }}
+
+        - name: mgr
+          image: {{ include "mysql.image" . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
+          {{- if .Values.primary.containerSecurityContext.enabled }}
+          securityContext: {{- omit .Values.primary.containerSecurityContext "enabled" | toYaml | nindent 12 }}
+          {{- end }}
+          command: 
+            - /bin/bash
+            - -ec
+            - |
+              export HOST_0=${MYSQL_MASTER_HOST}-0.${MYSQL_MASTER_HOST}
+              export HOST_1=${MYSQL_MASTER_HOST}-1.${MYSQL_MASTER_HOST}
+              export HOST_2=${MYSQL_MASTER_HOST}-2.${MYSQL_MASTER_HOST}
+              
+              echo "
+                set global group_replication_bootstrap_group=on;
+                start group_replication;
+                select * from performance_schema.replication_group_members;
+                set global group_replication_bootstrap_group=off;
+              " > /tmp/master.sql
+              mysql -h${HOST_0} -P${MYSQL_MASTER_PORT_NUMBER} -uroot -p${MYSQL_ROOT_PASSWORD} < /tmp/master.sql
+              
+              echo "
+              reset master;
+              change master to master_user='$(MYSQL_REPLICATION_USER)',master_password='$(MYSQL_REPLICATION_PASSWORD)' for channel 'group_replication_recovery';
+              start group_replication;
+              select * from performance_schema.replication_group_members;
+              " > /tmp/slave.sql 
+              mysql -h${HOST_1} -P${MYSQL_MASTER_PORT_NUMBER} -uroot -p${MYSQL_ROOT_PASSWORD}  < /tmp/slave.sql
+              mysql -h${HOST_2} -P${MYSQL_MASTER_PORT_NUMBER} -uroot -p${MYSQL_ROOT_PASSWORD}  < /tmp/slave.sql
+    
+          env:
+            - name: DRYCC_DEBUG
+              value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
+            - name: MYSQL_MASTER_HOST
+              value: {{ include "mysql.primary.fullname" . }}
+            - name: MYSQL_MASTER_PORT_NUMBER
+              value: {{ .Values.primary.service.ports.mysql | quote }}
+            - name: MYSQL_MASTER_ROOT_USER
+              value: "root"
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "mysql.secretName" . }}
+                  key: mysql-root-password
+            - name: MYSQL_REPLICATION_USER
+              value: {{ .Values.auth.replicationUser | quote }}
+            - name: MYSQL_REPLICATION_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "mysql.secretName" . }}
+                  key: mysql-replication-password
+                  
+      containers:         
+        - name: cluster
+          image: {{ include "cluster.image" . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
+          {{- if .Values.primary.containerSecurityContext.enabled }}
+          securityContext: {{- omit .Values.primary.containerSecurityContext "enabled" | toYaml | nindent 12 }}
+          {{- end }}
+          command: 
+            - /bin/bash
+            - -ec
+            - |
+              export HOST_0=${MYSQL_MASTER_HOST}-0.${MYSQL_MASTER_HOST}
+              echo 'Y' |  mysqlsh --uri=${MYSQL_MASTER_ROOT_USER}@${HOST_0}:${MYSQL_MASTER_PORT_NUMBER} -p${MYSQL_ROOT_PASSWORD} -e'var c=dba.createCluster("MXMGR");'
+
+          env:
+            - name: MYSQL_MASTER_HOST
+              value: {{ include "mysql.primary.fullname" . }}
+            - name: MYSQL_MASTER_PORT_NUMBER
+              value: {{ .Values.primary.service.ports.mysql | quote }}
+            - name: MYSQL_MASTER_ROOT_USER
+              value: "root"
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "mysql.secretName" . }}
+                  key: mysql-root-password
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/extra-list.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/extra-list.yaml
index 9ac65f9e..2d35a580 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/extra-list.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/extra-list.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- range .Values.extraDeploy }}
 ---
 {{ include "common.tplvalues.render" (dict "value" . "context" $) }}
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/metrics-svc.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/metrics-svc.yaml
index 4d3339b1..4f583daa 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/metrics-svc.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/metrics-svc.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if .Values.metrics.enabled }}
 apiVersion: v1
 kind: Service
@@ -20,6 +25,9 @@ metadata:
   {{- end }}
 spec:
   type: {{ .Values.metrics.service.type }}
+  {{- if and .Values.metrics.service.clusterIP (eq .Values.metrics.service.type "ClusterIP") }}
+  clusterIP: {{ .Values.metrics.service.clusterIP }}
+  {{- end }}
   ports:
     - port: {{ .Values.metrics.service.port }}
       targetPort: metrics
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml
index 6b62bb55..45a67db3 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/networkpolicy.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if .Values.networkPolicy.enabled }}
 kind: NetworkPolicy
 apiVersion: {{ template "common.capabilities.networkPolicy.apiVersion" . }}
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/configmap.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/configmap.yaml
index 82d0774b..84714247 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/configmap.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/configmap.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if (include "mysql.primary.createConfigmap" .) }}
 apiVersion: v1
 kind: ConfigMap
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/initialization-configmap.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/initialization-configmap.yaml
index a34f80de..c3d17eec 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/initialization-configmap.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/initialization-configmap.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if and .Values.initdbScripts (not .Values.initdbScriptsConfigMap) }}
 apiVersion: v1
 kind: ConfigMap
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/pdb.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/pdb.yaml
index ca22a0e0..0d59b139 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/pdb.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/pdb.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if .Values.primary.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml
index 310922a9..79694e68 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/statefulset.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
 kind: StatefulSet
 metadata:
@@ -12,8 +17,7 @@ metadata:
   annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
   {{- end }}
 spec:
-
-  replicas: {{ .Values.primary.replicaCount }}
+  replicas: 3
   podManagementPolicy: {{ .Values.primary.podManagementPolicy | quote }}
   selector:
     matchLabels: {{ include "common.labels.matchLabels" . | nindent 6 }}
@@ -59,6 +63,9 @@ spec:
       {{- if .Values.primary.priorityClassName }}
       priorityClassName: {{ .Values.primary.priorityClassName | quote }}
       {{- end }}
+      {{- if .Values.primary.runtimeClassName }}
+      runtimeClassName: {{ .Values.primary.runtimeClassName | quote }}
+      {{- end }}
       {{- if .Values.primary.schedulerName }}
       schedulerName: {{ .Values.primary.schedulerName | quote }}
       {{- end }}
@@ -80,9 +87,9 @@ spec:
             - /bin/bash
             - -ec
             - |
-              mkdir -p "/bitnami/mysql"
-              chown "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}" "/bitnami/mysql"
-              find "/bitnami/mysql" -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | xargs -r chown -R "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}"
+              mkdir -p "/drycc/mysql"
+              chown "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}" "/drycc/mysql"
+              find "/drycc/mysql" -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | xargs -r chown -R "{{ .Values.primary.containerSecurityContext.runAsUser }}:{{ .Values.primary.podSecurityContext.fsGroup }}"
           securityContext:
             runAsUser: 0
           {{- if .Values.volumePermissions.resources }}
@@ -90,7 +97,10 @@ spec:
           {{- end }}
           volumeMounts:
             - name: data
-              mountPath: /bitnami/mysql
+              mountPath: /drycc/mysql
+              {{- if .Values.primary.persistence.subPath }}
+              subPath: {{ .Values.primary.persistence.subPath }}
+              {{- end }}
         {{- end }}
         {{- if .Values.primary.initContainers }}
         {{- include "common.tplvalues.render" (dict "value" .Values.primary.initContainers "context" $) | nindent 8 }}
@@ -116,11 +126,11 @@ spec:
           lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.primary.lifecycleHooks "context" $) | nindent 12 }}
           {{- end }}
           env:
-            - name: BITNAMI_DEBUG
+            - name: DRYCC_DEBUG
               value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_ROOT_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
+              value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
             {{- else }}
             - name: MYSQL_ROOT_PASSWORD
               valueFrom:
@@ -133,7 +143,7 @@ spec:
               value: {{ .Values.auth.username | quote }}
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysql/secrets/mysql-password" .Values.auth.customPasswordFiles.user }}
+              value: {{ default "/opt/drycc/mysql/secrets/mysql-password" .Values.auth.customPasswordFiles.user }}
             {{- else }}
             - name: MYSQL_PASSWORD
               valueFrom:
@@ -153,7 +163,7 @@ spec:
               value: {{ .Values.auth.replicationUser | quote }}
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_REPLICATION_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysql/secrets/mysql-replication-password" .Values.auth.customPasswordFiles.replicator }}
+              value: {{ default "/opt/drycc/mysql/secrets/mysql-replication-password" .Values.auth.customPasswordFiles.replicator }}
             {{- else }}
             - name: MYSQL_REPLICATION_PASSWORD
               valueFrom:
@@ -181,9 +191,11 @@ spec:
           ports:
             - name: mysql
               containerPort: 3306
+            - name: mgr
+              containerPort: 24901
             {{- if .Values.primary.extraPorts }}
             {{- include "common.tplvalues.render" (dict "value" .Values.primary.extraPorts "context" $) | nindent 12 }}
-             {{- end }}
+            {{- end }}
           {{- if not .Values.diagnosticMode.enabled }}
           {{- if .Values.primary.customLivenessProbe }}
           livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customLivenessProbe "context" $) | nindent 12 }}
@@ -198,7 +210,7 @@ spec:
                   if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
                       password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
                   fi
-                  mysqladmin status -uroot -p"${password_aux}"
+                  mysqladmin status -uroot -h127.0.0.1 -p"${password_aux}"
           {{- end }}
           {{- if .Values.primary.customReadinessProbe }}
           readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customReadinessProbe "context" $) | nindent 12 }}
@@ -213,7 +225,7 @@ spec:
                   if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
                       password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
                   fi
-                  mysqladmin status -uroot -p"${password_aux}"
+                  mysqladmin status -uroot -h127.0.0.1 -p"${password_aux}"
           {{- end }}
           {{- if .Values.primary.customStartupProbe }}
           startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.primary.customStartupProbe "context" $) | nindent 12 }}
@@ -228,7 +240,7 @@ spec:
                   if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
                       password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
                   fi
-                  mysqladmin status -uroot -p"${password_aux}"
+                  mysqladmin status -uroot -h127.0.0.1 -p"${password_aux}"
           {{- end }}
           {{- end }}
           {{- if .Values.primary.resources }}
@@ -236,19 +248,22 @@ spec:
           {{- end }}
           volumeMounts:
             - name: data
-              mountPath: /bitnami/mysql
+              mountPath: /drycc/mysql
+              {{- if .Values.primary.persistence.subPath }}
+              subPath: {{ .Values.primary.persistence.subPath }}
+              {{- end }}
             {{- if or .Values.initdbScriptsConfigMap .Values.initdbScripts }}
             - name: custom-init-scripts
               mountPath: /docker-entrypoint-initdb.d
             {{- end }}
             {{- if or .Values.primary.configuration .Values.primary.existingConfigmap }}
             - name: config
-              mountPath: /opt/bitnami/mysql/conf/my.cnf
+              mountPath: /opt/drycc/mysql/conf/my.cnf
               subPath: my.cnf
             {{- end }}
             {{- if and .Values.auth.usePasswordFiles (not .Values.auth.customPasswordFiles) }}
             - name: mysql-credentials
-              mountPath: /opt/bitnami/mysql/secrets/
+              mountPath: /opt/drycc/mysql/secrets/
             {{- end }}
             {{- if .Values.primary.extraVolumeMounts }}
             {{- include "common.tplvalues.render" (dict "value" .Values.primary.extraVolumeMounts "context" $) | nindent 12 }}
@@ -257,10 +272,13 @@ spec:
         - name: metrics
           image: {{ include "mysql.metrics.image" . }}
           imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }}
+          {{- if .Values.metrics.containerSecurityContext.enabled }}
+          securityContext: {{- omit .Values.metrics.containerSecurityContext "enabled" | toYaml | nindent 12 }}
+          {{- end }}
           env:
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_ROOT_PASSWORD_FILE
-              value: {{ default "/opt/bitnami/mysqld-exporter/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
+              value: {{ default "/opt/drycc/mysqld-exporter/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
             {{- else }}
             - name: MYSQL_ROOT_PASSWORD
               valueFrom:
@@ -280,7 +298,7 @@ spec:
               if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
                   password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
               fi
-              DATA_SOURCE_NAME="root:${password_aux}@(localhost:3306)/" /bin/mysqld_exporter {{- range .Values.metrics.extraArgs.primary }} {{ . }} {{- end }}
+              MYSQLD_EXPORTER_PASSWORD=${password_aux} /bin/mysqld_exporter --mysqld.address=localhost:3306 --mysqld.username=root {{- range .Values.metrics.extraArgs.primary }} {{ . }} {{- end }}
           {{- end }}
           ports:
             - name: metrics
@@ -305,7 +323,7 @@ spec:
           {{- if and .Values.auth.usePasswordFiles (not .Values.auth.customPasswordFiles) }}
           volumeMounts:
             - name: mysql-credentials
-              mountPath: /opt/bitnami/mysqld-exporter/secrets/
+              mountPath: /opt/drycc/mysqld-exporter/secrets/
           {{- end }}
         {{- end }}
         {{- if .Values.primary.sidecars }}
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc-headless.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc-headless.yaml
index 22619122..749afb65 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc-headless.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc-headless.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 apiVersion: v1
 kind: Service
 metadata:
@@ -8,10 +13,15 @@ metadata:
     {{- if .Values.commonLabels }}
     {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
     {{- end }}
+  {{- if or .Values.primary.service.headless.annotations .Values.commonAnnotations }}
   annotations:
+    {{- if .Values.primary.service.headless.annotations }}
+    {{- include "common.tplvalues.render" (dict "value" .Values.primary.service.headless.annotations "context" $) | nindent 4 }}
+    {{- end }}
     {{- if .Values.commonAnnotations }}
     {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
     {{- end }}
+  {{- end }}
 spec:
   type: ClusterIP
   clusterIP: None
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc.yaml
index b61d453c..cc369bce 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/primary/svc.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 apiVersion: v1
 kind: Service
 metadata:
@@ -45,8 +50,13 @@ spec:
       {{- else if eq .Values.primary.service.type "ClusterIP" }}
       nodePort: null
       {{- end }}
+    - name: mgr
+      port: 24091
+      protocol: TCP
+      targetPort: mgr
     {{- if .Values.primary.service.extraPorts }}
     {{- include "common.tplvalues.render" (dict "value" .Values.primary.service.extraPorts "context" $) | nindent 4 }}
     {{- end }}
+    
   selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
     app.kubernetes.io/component: primary
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/prometheusrule.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/prometheusrule.yaml
index 64fa44f5..acf1ceee 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/prometheusrule.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/prometheusrule.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if and .Values.metrics.enabled .Values.metrics.prometheusRule.enabled }}
 apiVersion: monitoring.coreos.com/v1
 kind: PrometheusRule
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/role.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/role.yaml
index 1ccc00a5..ed05cf43 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/role.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/role.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if and .Values.serviceAccount.create  .Values.rbac.create }}
 apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
 kind: Role
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/rolebinding.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/rolebinding.yaml
index 9b052084..43594dba 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/rolebinding.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/rolebinding.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if and .Values.serviceAccount.create .Values.rbac.create }}
 kind: RoleBinding
 apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/router/statefulset.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/router/statefulset.yaml
new file mode 100644
index 00000000..ed72d7bb
--- /dev/null
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/router/statefulset.yaml
@@ -0,0 +1,230 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
+apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }}
+kind: StatefulSet
+metadata:
+  name: {{ include "mysql.router.fullname" . }}
+  namespace: {{ include "common.names.namespace" . | quote }}
+  labels: {{- include "common.labels.standard" . | nindent 4 }}
+    app.kubernetes.io/component: router
+    {{- if .Values.commonLabels }}
+    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- end }}
+  {{- if .Values.commonAnnotations }}
+  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+  {{- end }}
+spec:
+  replicas: {{ .Values.router.replicaCount }}
+  podManagementPolicy: {{ .Values.router.podManagementPolicy | quote }}
+  selector:
+    matchLabels: {{ include "common.labels.matchLabels" . | nindent 6 }}
+      app.kubernetes.io/component: router
+  serviceName: {{ include "mysql.router.fullname" . }} 
+  {{- if .Values.router.updateStrategy }}
+  updateStrategy: {{- toYaml .Values.router.updateStrategy | nindent 4 }}
+  {{- end }}
+  template:
+    metadata:
+      annotations:
+        {{- if .Values.router.podAnnotations }}
+        {{- include "common.tplvalues.render" (dict "value" .Values.router.podAnnotations "context" $) | nindent 8 }}
+        {{- end }}
+      labels: {{- include "common.labels.standard" . | nindent 8 }}
+        app.kubernetes.io/component: router
+        {{- if .Values.router.podLabels }}
+        {{- include "common.tplvalues.render" ( dict "value" .Values.router.podLabels "context" $ ) | nindent 8 }}
+        {{- end }}
+    spec:
+      serviceAccountName: {{ template "mysql.serviceAccountName" . }}
+      {{- include "mysql.imagePullSecrets" . | nindent 6 }}
+      {{- if .Values.router.hostAliases }}
+      hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.router.hostAliases "context" $) | nindent 8 }}
+      {{- end }}
+      {{- if .Values.router.affinity }}
+      affinity: {{- include "common.tplvalues.render" (dict "value" .Values.router.affinity "context" $) | nindent 8 }}
+      {{- else }}
+      affinity:
+        podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.router.podAffinityPreset "context" $) | nindent 10 }}
+        podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.router.podAntiAffinityPreset "context" $) | nindent 10 }}
+        nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.router.nodeAffinityPreset.type "key" .Values.router.nodeAffinityPreset.key "values" .Values.router.nodeAffinityPreset.values) | nindent 10 }}
+      {{- end }}
+      {{- if .Values.router.nodeSelector }}
+      nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.router.nodeSelector "context" $) | nindent 8 }}
+      {{- end }}
+      {{- if .Values.router.tolerations }}
+      tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.router.tolerations "context" $) | nindent 8 }}
+      {{- end }}
+      {{- if .Values.router.priorityClassName }}
+      priorityClassName: {{ .Values.router.priorityClassName | quote }}
+      {{- end }}
+      {{- if .Values.router.runtimeClassName }}
+      runtimeClassName: {{ .Values.router.runtimeClassName | quote }}
+      {{- end }}
+      {{- if .Values.router.schedulerName }}
+      schedulerName: {{ .Values.router.schedulerName | quote }}
+      {{- end }}
+      {{- if .Values.router.topologySpreadConstraints }}
+      topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.router.topologySpreadConstraints "context" .) | nindent 8 }}
+      {{- end }}
+      {{- if .Values.router.podSecurityContext.enabled }}
+      securityContext: {{- omit .Values.router.podSecurityContext "enabled" | toYaml | nindent 8 }}
+      {{- end }}
+      {{- if .Values.router.terminationGracePeriodSeconds }}
+      terminationGracePeriodSeconds: {{ .Values.router.terminationGracePeriodSeconds }}
+      {{- end }}
+
+      initContainers:
+        - name: cluster-wait
+          image: {{ include "router.image" . }}
+          imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }}
+          command:
+            - /bin/bash
+            - -ec
+            - |
+              echo `date` "begin mysql cluster init ... "
+              echo "show databases like 'mysql_innodb_cluster_metadata'; " >  /tmp/check.sql
+
+              while true 
+              do 
+                has_database=$( mysql -uroot -p${MYSQL_ROOT_PASSWORD} -h ${MYSQL_HOST} -P$(MYSQL_PORT_NUMBER) --wait --connect-timeout=5 -N < /tmp/check.sql  | grep mysql_innodb_cluster_metadata | wc -l  )
+                if [ $has_database == '1' ]; then
+                  echo `date` "mysql cluster is ok!"
+                  break
+                fi 
+                echo `date` "waiting for mysql cluster init ... "
+              done
+
+          env:
+            - name: MYSQL_HOST
+              value: {{ include "mysql.primary.fullname" . }}
+            - name: MYSQL_PORT_NUMBER
+              value: {{ .Values.primary.service.ports.mysql | quote }}
+            - name: MYSQL_MASTER_ROOT_USER
+              value: "root"
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "mysql.secretName" . }}
+                  key: mysql-root-password
+
+
+        - name: router-config
+          image: {{ include "router.image" . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
+          {{- if .Values.router.containerSecurityContext.enabled }}
+          securityContext: {{- omit .Values.router.containerSecurityContext "enabled" | toYaml | nindent 12 }}
+          {{- end }}
+          command:
+            - /bin/bash
+            - -ec
+            - |
+      
+              export MYSQL_MASTER_HOST=${MYSQL_HOST}-0.${MYSQL_HOST}
+              echo ${MYSQL_ROOT_PASSWORD} | mysqlrouter --bootstrap root@${MYSQL_MASTER_HOST}:$(MYSQL_PORT_NUMBER)  -d /opt/drycc/mysql/conf/router --name mxrouter --force
+          env:
+            - name: MYSQL_HOST
+              value: {{ include "mysql.primary.fullname" . }}
+            - name: MYSQL_PORT_NUMBER
+              value: {{ .Values.primary.service.ports.mysql | quote }}
+            - name: MYSQL_MASTER_ROOT_USER
+              value: "root"
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "mysql.secretName" . }}
+                  key: mysql-root-password
+
+          volumeMounts:
+            - name: router-volume
+              mountPath: /opt/drycc/mysql/conf
+
+      containers:
+        - name: router
+          image: {{ include "router.image" . }}
+          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
+          {{- if .Values.router.containerSecurityContext.enabled }}
+          securityContext: {{- omit .Values.router.containerSecurityContext "enabled" | toYaml | nindent 12 }}
+          {{- end }}
+          command:
+            - /bin/bash
+            - -ec
+            - |
+              ln -sf /dev/stdout /opt/drycc/mysql/conf/router/log/mysqlrouter.log
+              mysqlrouter -c /opt/drycc/mysql/conf/router/mysqlrouter.conf
+          env:
+            - name: MYSQL_HOST
+              value: {{ include "mysql.primary.fullname" . }}
+            - name: MYSQL_PORT_NUMBER
+              value: {{ .Values.primary.service.ports.mysql | quote }}
+            - name: MYSQL_MASTER_ROOT_USER
+              value: "root"
+            - name: MYSQL_ROOT_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "mysql.secretName" . }}
+                  key: mysql-root-password
+
+          volumeMounts:
+            - name: router-volume
+              mountPath: /opt/drycc/mysql/conf
+
+          ports:
+            - name: router
+              containerPort: 6446
+          {{- if not .Values.diagnosticMode.enabled }}
+          {{- if .Values.router.customLivenessProbe }}
+          livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.router.customLivenessProbe "context" $) | nindent 12 }}
+          {{- else if .Values.router.livenessProbe.enabled }}
+          livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.router.livenessProbe "enabled") "context" $) | nindent 12 }}
+            exec:
+              command:
+                - /bin/bash
+                - -ec
+                - |
+                  password_aux="${MYSQL_ROOT_PASSWORD:-}"
+                  if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+                      password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+                  fi
+                  mysqladmin status -uroot -h127.0.0.1 -P6446 -p"${password_aux}"
+          {{- end }}
+          {{- if .Values.router.customReadinessProbe }}
+          readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.router.customReadinessProbe "context" $) | nindent 12 }}
+          {{- else if .Values.router.readinessProbe.enabled }}
+          readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.router.readinessProbe "enabled") "context" $) | nindent 12 }}
+            exec:
+              command:
+                - /bin/bash
+                - -ec
+                - |
+                  password_aux="${MYSQL_ROOT_PASSWORD:-}"
+                  if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+                      password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+                  fi
+                  mysqladmin status -uroot -h127.0.0.1 -P6446 -p"${password_aux}"
+          {{- end }}
+          {{- if .Values.router.customStartupProbe }}
+          startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.router.customStartupProbe "context" $) | nindent 12 }}
+          {{- else if .Values.router.startupProbe.enabled }}
+          startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.router.startupProbe "enabled") "context" $) | nindent 12 }}
+            exec:
+              command:
+                - /bin/bash
+                - -ec
+                - |
+                  password_aux="${MYSQL_ROOT_PASSWORD:-}"
+                  if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then
+                      password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE")
+                  fi
+                  mysqladmin status -uroot -h127.0.0.1 -P6446 -p"${password_aux}"
+          {{- end }}
+          {{- end }}
+          {{- if .Values.router.resources }}
+          resources: {{ toYaml .Values.router.resources | nindent 12 }}
+          {{- end }}
+
+      volumes:
+        - name: router-volume
+          emptyDir: {}
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/router/svc.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/router/svc.yaml
new file mode 100644
index 00000000..67e76a69
--- /dev/null
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/router/svc.yaml
@@ -0,0 +1,58 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "mysql.router.fullname" . }}
+  namespace: {{ include "common.names.namespace" . | quote }}
+  labels: {{- include "common.labels.standard" . | nindent 4 }}
+    app.kubernetes.io/component: router
+    {{- if .Values.commonLabels }}
+    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- end }}
+  annotations:
+    {{- if .Values.commonAnnotations }}
+    {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+    {{- end }}
+    {{- if .Values.router.service.annotations }}
+    {{- include "common.tplvalues.render" ( dict "value" .Values.router.service.annotations "context" $ ) | nindent 4 }}
+    {{- end }}
+spec:
+  type: {{ .Values.router.service.type }}
+  {{- if and .Values.router.service.clusterIP (eq .Values.router.service.type "ClusterIP") }}
+  clusterIP: {{ .Values.router.service.clusterIP }}
+  {{- end }}
+  {{- if .Values.router.service.sessionAffinity }}
+  sessionAffinity: {{ .Values.router.service.sessionAffinity }}
+  {{- end }}
+  {{- if .Values.router.service.sessionAffinityConfig }}
+  sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.router.service.sessionAffinityConfig "context" $) | nindent 4 }}
+  {{- end }}
+  {{- if or (eq .Values.router.service.type "LoadBalancer") (eq .Values.router.service.type "NodePort") }}
+  externalTrafficPolicy: {{ .Values.router.service.externalTrafficPolicy | quote }}
+  {{- end }}
+  {{- if and (eq .Values.router.service.type "LoadBalancer") (not (empty .Values.router.service.loadBalancerSourceRanges)) }}
+  loadBalancerSourceRanges: {{ .Values.router.service.loadBalancerSourceRanges }}
+  {{- end }}
+  {{- if and (eq .Values.router.service.type "LoadBalancer") (not (empty .Values.router.service.loadBalancerIP)) }}
+  loadBalancerIP: {{ .Values.router.service.loadBalancerIP }}
+  {{- end }}
+  ports:
+    - name: router 
+      port: {{ .Values.router.service.ports.router }}
+      protocol: TCP
+      targetPort: router
+      {{- if (and (or (eq .Values.router.service.type "NodePort") (eq .Values.router.service.type "LoadBalancer")) .Values.router.service.nodePorts.mysql) }}
+      nodePort: {{ .Values.router.service.nodePorts.mysql }}
+      {{- else if eq .Values.router.service.type "ClusterIP" }}
+      nodePort: null
+      {{- end }}
+    {{- if .Values.router.service.extraPorts }}
+    {{- include "common.tplvalues.render" (dict "value" .Values.router.service.extraPorts "context" $) | nindent 4 }}
+    {{- end }}
+    
+  selector: {{ include "common.labels.matchLabels" . | nindent 4 }}
+    app.kubernetes.io/component: router
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/secrets.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/secrets.yaml
index 8a5b2686..dcfb72b6 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/secrets.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/secrets.yaml
@@ -1,3 +1,12 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
+{{- $host := include "mysql.router.fullname" . }}
+{{- $port := print .Values.router.service.ports.router }}
+{{- $rootPassword := include "common.secrets.passwords.manage" (dict "secret" (include "mysql.secretName" .) "key" "mysql-root-password" "length" 10 "providedValues" (list "auth.rootPassword") "context" $) | trimAll "\"" | b64dec }}
+{{- $password := include "common.secrets.passwords.manage" (dict "secret" (include "mysql.secretName" .) "key" "mysql-password" "length" 10 "providedValues" (list "auth.password") "context" $) | trimAll "\"" | b64dec }}
 {{- if eq (include "mysql.createSecret" .) "true" }}
 apiVersion: v1
 kind: Secret
@@ -13,9 +22,62 @@ metadata:
   {{- end }}
 type: Opaque
 data:
-  mysql-root-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-root-password" "length" 10 "providedValues" (list "auth.rootPassword") "context" $) }}
-  mysql-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-password" "length" 10 "providedValues" (list "auth.password") "context" $) }}
-  {{- if or (eq .Values.architecture "replication")  (eq .Values.architecture "replication") }}
+  mysql-root-password: {{ print $rootPassword | b64enc | quote }}
+  mysql-password: {{ print $password | b64enc | quote }}
+  {{- if or (eq .Values.architecture "replication") (eq .Values.architecture "mgr") }}
   mysql-replication-password: {{ include "common.secrets.passwords.manage" (dict "secret" (include "common.names.fullname" .) "key" "mysql-replication-password" "length" 10 "providedValues" (list "auth.replicationPassword") "context" $) }}
   {{- end }}
 {{- end }}
+{{- if .Values.serviceBindings.enabled }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.names.fullname" . }}-svcbind-root
+  namespace: {{ .Release.Namespace | quote }}
+  labels: {{- include "common.labels.standard" . | nindent 4 }}
+    {{- if .Values.commonLabels }}
+    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- end }}
+  {{- if .Values.commonAnnotations }}
+  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+  {{- end }}
+type: servicebinding.io/mysql
+data:
+  provider: {{ print "bitnami" | b64enc | quote }}
+  type: {{ print "mysql" | b64enc | quote }}
+  host: {{ print $host | b64enc | quote }}
+  port: {{ print $port | b64enc | quote }}
+  username: {{ print "root" | b64enc | quote }}
+  password: {{ print $rootPassword | b64enc | quote }}
+  uri: {{ printf "mysql://root:%s@%s:%s" $rootPassword $host $port | b64enc | quote }}
+
+{{- if .Values.auth.username }}
+{{- $database := .Values.auth.database  }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.names.fullname" . }}-svcbind-custom-user
+  namespace: {{ .Release.Namespace | quote }}
+  labels: {{- include "common.labels.standard" . | nindent 4 }}
+    {{- if .Values.commonLabels }}
+    {{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- end }}
+  {{- if .Values.commonAnnotations }}
+  annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+  {{- end }}
+type: servicebinding.io/mysql
+data:
+  provider: {{ print "drycc" | b64enc | quote }}
+  type: {{ print "mysql" | b64enc | quote }}
+  host: {{ print $host | b64enc | quote }}
+  port: {{ print $port | b64enc | quote }}
+  username: {{ print .Values.auth.username | b64enc | quote }}
+  {{- if $database }}
+  database: {{ print $database | b64enc | quote }}
+  {{- end }}
+  password: {{ print $password | b64enc | quote }}
+  uri: {{ printf "mysql://%s:%s@%s:%s/%s" .Values.auth.username $password $host $port $database | b64enc | quote }}
+{{- end }}
+{{- end }}
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/serviceaccount.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/serviceaccount.yaml
index 5044961f..4c628296 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/serviceaccount.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/serviceaccount.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if .Values.serviceAccount.create }}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/servicemonitor.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/servicemonitor.yaml
index 47a9dad5..70621206 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/servicemonitor.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/templates/servicemonitor.yaml
@@ -1,3 +1,8 @@
+{{- /*
+Copyright VMware, Inc.
+SPDX-License-Identifier: APACHE-2.0
+*/}}
+
 {{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }}
 apiVersion: monitoring.coreos.com/v1
 kind: ServiceMonitor
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/values.sample.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/values.sample.yaml
deleted file mode 100644
index 266bca1a..00000000
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/values.sample.yaml
+++ /dev/null
@@ -1,1178 +0,0 @@
-## @section Global parameters
-## 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, imagePullSecrets and storageClass
-
-## @param global.imageRegistry Global Docker image registry
-## @param global.imagePullSecrets Global Docker registry secret names as an array
-## @param global.storageClass Global StorageClass for Persistent Volume(s)
-##
-global:
-  imageRegistry: ""
-  ## E.g.
-  ## imagePullSecrets:
-  ##   - myRegistryKeySecretName
-  ##
-  imagePullSecrets: []
-  storageClass: ""
-
-## @section Common parameters
-
-## @param kubeVersion Force target Kubernetes version (using Helm capabilities if not set)
-##
-kubeVersion: ""
-## @param nameOverride String to partially override common.names.fullname template (will maintain the release name)
-##
-nameOverride: ""
-## @param fullnameOverride String to fully override common.names.fullname template
-##
-fullnameOverride: ""
-## @param namespaceOverride String to fully override common.names.namespace
-##
-namespaceOverride: ""
-## @param clusterDomain Cluster domain
-##
-clusterDomain: cluster.local
-## @param commonAnnotations Common annotations to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
-##
-commonAnnotations: {}
-## @param commonLabels Common labels to add to all MySQL resources (sub-charts are not considered). Evaluated as a template
-##
-commonLabels: {}
-## @param extraDeploy Array with extra yaml to deploy with the chart. Evaluated as a template
-##
-extraDeploy: []
-
-## Enable diagnostic mode in the deployment
-##
-diagnosticMode:
-  ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
-  ##
-  enabled: false
-  ## @param diagnosticMode.command Command to override all containers in the deployment
-  ##
-  command:
-    - sleep
-  ## @param diagnosticMode.args Args to override all containers in the deployment
-  ##
-  args:
-    - infinity
-
-## @section MySQL common parameters
-
-## Bitnami MySQL image
-## ref: https://hub.docker.com/r/bitnami/mysql/tags/
-## @param image.registry MySQL image registry
-## @param image.repository MySQL image repository
-## @param image.tag MySQL image tag (immutable tags are recommended)
-## @param image.digest MySQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-## @param image.pullPolicy MySQL image pull policy
-## @param image.pullSecrets Specify docker-registry secret names as an array
-## @param image.debug Specify if debug logs should be enabled
-##
-image:
-  registry: docker.io
-  repository: bitnami/mysql
-  tag: 8.0.30-debian-11-r27
-  digest: ""
-  ## Specify a imagePullPolicy
-  ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
-  ## ref: https://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/or NAMI debugging in the image
-  ##
-  debug: false
-## @param architecture MySQL architecture (`standalone` or `replication`)
-##
-architecture: standalone
-## MySQL Authentication parameters
-##
-auth:
-  ## @param auth.rootPassword Password for the `root` user. Ignored if existing secret is provided
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-the-root-password-on-first-run
-  ##
-  rootPassword: ""
-  ## @param auth.createDatabase Wheter to create the .Values.auth.database or not
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
-  ##
-  createDatabase: true
-  ## @param auth.database Name for a custom database to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
-  ##
-  database: "my_database"
-  ## @param auth.username Name for a custom user to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-user-on-first-run
-  ##
-  username: ""
-  ## @param auth.password Password for the new user. Ignored if existing secret is provided
-  ##
-  password: ""
-  ## @param auth.replicationUser MySQL replication user
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-up-a-replication-cluster
-  ##
-  replicationUser: replicator
-  ## @param auth.replicationPassword MySQL replication user password. Ignored if existing secret is provided
-  ##
-  replicationPassword: ""
-  ## @param auth.existingSecret Use existing secret for password details. The secret has to contain the keys `mysql-root-password`, `mysql-replication-password` and `mysql-password`
-  ## NOTE: When it's set the auth.rootPassword, auth.password, auth.replicationPassword are ignored.
-  ##
-  existingSecret: ""
-  ## @param auth.usePasswordFiles Mount credentials as files instead of using an environment variable
-  ##
-  usePasswordFiles: false
-  ## @param auth.customPasswordFiles Use custom password files when `auth.usePasswordFiles` is set to `true`. Define path for keys `root` and `user`, also define `replicator` if `architecture` is set to `replication`
-  ## Example:
-  ## customPasswordFiles:
-  ##   root: /vault/secrets/mysql-root
-  ##   user: /vault/secrets/mysql-user
-  ##   replicator: /vault/secrets/mysql-replicator
-  ##
-  customPasswordFiles: {}
-## @param initdbScripts Dictionary of initdb scripts
-## Specify dictionary of scripts to be run at first boot
-## Example:
-## initdbScripts:
-##   my_init_script.sh: |
-##      #!/bin/bash
-##      echo "Do something."
-##
-initdbScripts: {}
-## @param initdbScriptsConfigMap ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)
-##
-initdbScriptsConfigMap: ""
-
-## @section MySQL Primary parameters
-
-primary:
-  ## @param primary.name Name of the primary database (eg primary, master, leader, ...)
-  ##
-  name: primary
-  ## @param primary.command Override default container command on MySQL Primary container(s) (useful when using custom images)
-  ##
-  command: []
-  ## @param primary.args Override default container args on MySQL Primary container(s) (useful when using custom images)
-  ##
-  args: []
-  ## @param primary.lifecycleHooks for the MySQL Primary container(s) to automate configuration before or after startup
-  ##
-  lifecycleHooks: {}
-  ## @param primary.hostAliases Deployment pod host aliases
-  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
-  ##
-  hostAliases: []
-  ## @param primary.configuration [string] Configure MySQL Primary with a custom my.cnf file
-  ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
-  ##
-  configuration: |-
-    [mysqld]
-    default_authentication_plugin=mysql_native_password
-    skip-name-resolve
-    explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
-    max_allowed_packet=16M
-    bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
-    slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
-    long_query_time=10.0
-
-    [client]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    default-character-set=UTF8
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-
-    [manager]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-  ## @param primary.existingConfigmap Name of existing ConfigMap with MySQL Primary configuration.
-  ## NOTE: When it's set the 'configuration' parameter is ignored
-  ##
-  existingConfigmap: ""
-  ## @param primary.updateStrategy.type Update strategy type for the MySQL primary statefulset
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
-  ##
-  updateStrategy:
-    type: RollingUpdate
-  ## @param primary.podAnnotations Additional pod annotations for MySQL primary pods
-  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-  ##
-  podAnnotations: {}
-  ## @param primary.podAffinityPreset MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAffinityPreset: ""
-  ## @param primary.podAntiAffinityPreset MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAntiAffinityPreset: soft
-  ## MySQL Primary node affinity preset
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
-  ##
-  nodeAffinityPreset:
-    ## @param primary.nodeAffinityPreset.type MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
-    ##
-    type: ""
-    ## @param primary.nodeAffinityPreset.key MySQL primary node label key to match Ignored if `primary.affinity` is set.
-    ## E.g.
-    ## key: "kubernetes.io/e2e-az-name"
-    ##
-    key: ""
-    ## @param primary.nodeAffinityPreset.values MySQL primary node label values to match. Ignored if `primary.affinity` is set.
-    ## E.g.
-    ## values:
-    ##   - e2e-az1
-    ##   - e2e-az2
-    ##
-    values: []
-  ## @param primary.affinity Affinity for MySQL 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: {}
-  ## @param primary.nodeSelector Node labels for MySQL primary pods assignment
-  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
-  ##
-  nodeSelector: {}
-  ## @param primary.tolerations Tolerations for MySQL primary pods assignment
-  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-  ##
-  tolerations: []
-  ## @param primary.priorityClassName MySQL primary pods' priorityClassName
-  ##
-  priorityClassName: ""
-  ## @param primary.schedulerName Name of the k8s scheduler (other than default)
-  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-  ##
-  schedulerName: ""
-  ## @param primary.terminationGracePeriodSeconds In seconds, time the given to the MySQL primary pod needs to terminate gracefully
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
-  ##
-  terminationGracePeriodSeconds: ""
-  ## @param primary.topologySpreadConstraints Topology Spread Constraints for pod assignment
-  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
-  ## The value is evaluated as a template
-  ##
-  topologySpreadConstraints: []
-  ## @param primary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL primary pods
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
-  ##
-  podManagementPolicy: ""
-  ## MySQL primary Pod security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
-  ## @param primary.podSecurityContext.enabled Enable security context for MySQL primary pods
-  ## @param primary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
-  ##
-  podSecurityContext:
-    enabled: true
-    fsGroup: 1001
-  ## MySQL primary container security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
-  ## @param primary.containerSecurityContext.enabled MySQL primary container securityContext
-  ## @param primary.containerSecurityContext.runAsUser User ID for the MySQL primary container
-  ## @param primary.containerSecurityContext.runAsNonRoot Set MySQL primary container's Security Context runAsNonRoot
-  ##
-  containerSecurityContext:
-    enabled: true
-    runAsUser: 1001
-    runAsNonRoot: true
-  ## MySQL primary container's resource requests and limits
-  ## ref: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param primary.resources.limits The resources limits for MySQL primary containers
-  ## @param primary.resources.requests The requested resources for MySQL primary containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    requests: {}
-  ## Configure extra options for liveness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.livenessProbe.enabled Enable livenessProbe
-  ## @param primary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param primary.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param primary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param primary.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param primary.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for readiness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.readinessProbe.enabled Enable readinessProbe
-  ## @param primary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param primary.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param primary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param primary.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param primary.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for startupProbe probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param primary.startupProbe.enabled Enable startupProbe
-  ## @param primary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
-  ## @param primary.startupProbe.periodSeconds Period seconds for startupProbe
-  ## @param primary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
-  ## @param primary.startupProbe.failureThreshold Failure threshold for startupProbe
-  ## @param primary.startupProbe.successThreshold Success threshold for startupProbe
-  ##
-  startupProbe:
-    enabled: true
-    initialDelaySeconds: 15
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 10
-    successThreshold: 1
-  ## @param primary.customLivenessProbe Override default liveness probe for MySQL primary containers
-  ##
-  customLivenessProbe: {}
-  ## @param primary.customReadinessProbe Override default readiness probe for MySQL primary containers
-  ##
-  customReadinessProbe: {}
-  ## @param primary.customStartupProbe Override default startup probe for MySQL primary containers
-  ##
-  customStartupProbe: {}
-  ## @param primary.extraFlags MySQL 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: ""
-  ## @param primary.extraEnvVars Extra environment variables to be set on MySQL primary containers
-  ## E.g.
-  ## extraEnvVars:
-  ##  - name: TZ
-  ##    value: "Europe/Paris"
-  ##
-  extraEnvVars: []
-  ## @param primary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL primary containers
-  ##
-  extraEnvVarsCM: ""
-  ## @param primary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL primary containers
-  ##
-  extraEnvVarsSecret: ""
-  ## Enable persistence using Persistent Volume Claims
-  ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
-  ##
-  persistence:
-    ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir
-    ##
-    enabled: true
-    ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas
-    ## NOTE: When it's set the rest of persistence parameters are ignored
-    ##
-    existingClaim: ""
-    ## @param primary.persistence.storageClass MySQL primary 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: ""
-    ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations
-    ##
-    annotations: {}
-    ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes
-    ##
-    accessModes:
-      - ReadWriteOnce
-    ## @param primary.persistence.size MySQL primary persistent volume size
-    ##
-    size: 8Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-  ## @param primary.extraVolumes Optionally specify extra list of additional volumes to the MySQL Primary pod(s)
-  ##
-  extraVolumes: []
-  ## @param primary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL Primary container(s)
-  ##
-  extraVolumeMounts: []
-  ## @param primary.initContainers Add additional init containers for the MySQL Primary pod(s)
-  ##
-  initContainers: []
-  ## @param primary.sidecars Add additional sidecar containers for the MySQL Primary pod(s)
-  ##
-  sidecars: []
-  ## MySQL Primary Service parameters
-  ##
-  service:
-    ## @param primary.service.type MySQL Primary K8s service type
-    ##
-    type: ClusterIP
-    ## @param primary.service.ports.mysql MySQL Primary K8s service port
-    ##
-    ports:
-      mysql: 3306
-    ## @param primary.service.nodePorts.mysql MySQL Primary K8s service node port
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
-    ##
-    nodePorts:
-      mysql: ""
-    ## @param primary.service.clusterIP MySQL Primary K8s service clusterIP IP
-    ## e.g:
-    ## clusterIP: None
-    ##
-    clusterIP: ""
-    ## @param primary.service.loadBalancerIP MySQL Primary loadBalancerIP if service type is `LoadBalancer`
-    ## Set the LoadBalancer service type to internal only
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
-    ##
-    loadBalancerIP: ""
-    ## @param primary.service.externalTrafficPolicy Enable client source IP preservation
-    ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
-    ##
-    externalTrafficPolicy: Cluster
-    ## @param primary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL Primary service is LoadBalancer
-    ## 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: []
-    ## @param primary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
-    ##
-    extraPorts: []
-    ## @param primary.service.annotations Additional custom annotations for MySQL primary service
-    ##
-    annotations: {}
-    ## @param primary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
-    ## If "ClientIP", consecutive client requests will be directed to the same Pod
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
-    ##
-    sessionAffinity: None
-    ## @param primary.service.sessionAffinityConfig Additional settings for the sessionAffinity
-    ## sessionAffinityConfig:
-    ##   clientIP:
-    ##     timeoutSeconds: 300
-    ##
-    sessionAffinityConfig: {}
-  ## MySQL primary Pod Disruption Budget configuration
-  ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-  ##
-  pdb:
-    ## @param primary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL primary pods
-    ##
-    create: false
-    ## @param primary.pdb.minAvailable Minimum number/percentage of MySQL primary pods that should remain scheduled
-    ##
-    minAvailable: 1
-    ## @param primary.pdb.maxUnavailable Maximum number/percentage of MySQL primary pods that may be made unavailable
-    ##
-    maxUnavailable: ""
-  ## @param primary.podLabels MySQL Primary pod label. If labels are same as commonLabels , this will take precedence
-  ##
-  podLabels: {}
-
-## @section MySQL Secondary parameters
-
-secondary:
-  ## @param secondary.name Name of the secondary database (eg secondary, slave, ...)
-  ##
-  name: secondary
-  ## @param secondary.replicaCount Number of MySQL secondary replicas
-  ##
-  replicaCount: 1
-  ## @param secondary.hostAliases Deployment pod host aliases
-  ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
-  ##
-  hostAliases: []
-  ## @param secondary.command Override default container command on MySQL Secondary container(s) (useful when using custom images)
-  ##
-  command: []
-  ## @param secondary.args Override default container args on MySQL Secondary container(s) (useful when using custom images)
-  ##
-  args: []
-  ## @param secondary.lifecycleHooks for the MySQL Secondary container(s) to automate configuration before or after startup
-  ##
-  lifecycleHooks: {}
-  ## @param secondary.configuration [string] Configure MySQL Secondary with a custom my.cnf file
-  ## ref: https://mysql.com/kb/en/mysql/configuring-mysql-with-mycnf/#example-of-configuration-file
-  ##
-  configuration: |-
-    [mysqld]
-    default_authentication_plugin=mysql_native_password
-    skip-name-resolve
-    explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
-    max_allowed_packet=16M
-    bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
-    slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
-    long_query_time=10.0
-
-    [client]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    default-character-set=UTF8
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
-
-    [manager]
-    port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-  ## @param secondary.existingConfigmap Name of existing ConfigMap with MySQL Secondary configuration.
-  ## NOTE: When it's set the 'configuration' parameter is ignored
-  ##
-  existingConfigmap: ""
-  ## @param secondary.updateStrategy.type Update strategy type for the MySQL secondary statefulset
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
-  ##
-  updateStrategy:
-    type: RollingUpdate
-  ## @param secondary.podAnnotations Additional pod annotations for MySQL secondary pods
-  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
-  ##
-  podAnnotations: {}
-  ## @param secondary.podAffinityPreset MySQL secondary pod affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ##
-  podAffinityPreset: ""
-  ## @param secondary.podAntiAffinityPreset MySQL secondary pod anti-affinity preset. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
-  ## Allowed values: soft, hard
-  ##
-  podAntiAffinityPreset: soft
-  ## MySQL Secondary node affinity preset
-  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
-  ##
-  nodeAffinityPreset:
-    ## @param secondary.nodeAffinityPreset.type MySQL secondary node affinity preset type. Ignored if `secondary.affinity` is set. Allowed values: `soft` or `hard`
-    ##
-    type: ""
-    ## @param secondary.nodeAffinityPreset.key MySQL secondary node label key to match Ignored if `secondary.affinity` is set.
-    ## E.g.
-    ## key: "kubernetes.io/e2e-az-name"
-    ##
-    key: ""
-    ## @param secondary.nodeAffinityPreset.values MySQL secondary node label values to match. Ignored if `secondary.affinity` is set.
-    ## E.g.
-    ## values:
-    ##   - e2e-az1
-    ##   - e2e-az2
-    ##
-    values: []
-  ## @param secondary.affinity Affinity for MySQL 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: {}
-  ## @param secondary.nodeSelector Node labels for MySQL secondary pods assignment
-  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
-  ##
-  nodeSelector: {}
-  ## @param secondary.tolerations Tolerations for MySQL secondary pods assignment
-  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
-  ##
-  tolerations: []
-  ## @param secondary.priorityClassName MySQL secondary pods' priorityClassName
-  ##
-  priorityClassName: ""
-  ## @param secondary.schedulerName Name of the k8s scheduler (other than default)
-  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-  ##
-  schedulerName: ""
-  ## @param secondary.terminationGracePeriodSeconds In seconds, time the given to the MySQL secondary pod needs to terminate gracefully
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
-  ##
-  terminationGracePeriodSeconds: ""
-  ## @param secondary.topologySpreadConstraints Topology Spread Constraints for pod assignment
-  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
-  ## The value is evaluated as a template
-  ##
-  topologySpreadConstraints: []
-  ## @param secondary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL secondary pods
-  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
-  ##
-  podManagementPolicy: ""
-  ## MySQL secondary Pod security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
-  ## @param secondary.podSecurityContext.enabled Enable security context for MySQL secondary pods
-  ## @param secondary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
-  ##
-  podSecurityContext:
-    enabled: true
-    fsGroup: 1001
-  ## MySQL secondary container security context
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
-  ## @param secondary.containerSecurityContext.enabled MySQL secondary container securityContext
-  ## @param secondary.containerSecurityContext.runAsUser User ID for the MySQL secondary container
-  ## @param secondary.containerSecurityContext.runAsNonRoot Set MySQL secondary container's Security Context runAsNonRoot
-  ##
-  containerSecurityContext:
-    enabled: true
-    runAsUser: 1001
-    runAsNonRoot: true
-  ## MySQL secondary container's resource requests and limits
-  ## ref: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param secondary.resources.limits The resources limits for MySQL secondary containers
-  ## @param secondary.resources.requests The requested resources for MySQL secondary containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 250m
-    ##    memory: 256Mi
-    requests: {}
-  ## Configure extra options for liveness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param secondary.livenessProbe.enabled Enable livenessProbe
-  ## @param secondary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param secondary.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param secondary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param secondary.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param secondary.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for readiness probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param secondary.readinessProbe.enabled Enable readinessProbe
-  ## @param secondary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param secondary.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param secondary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param secondary.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param secondary.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 5
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 3
-    successThreshold: 1
-  ## Configure extra options for startupProbe probe
-  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
-  ## @param secondary.startupProbe.enabled Enable startupProbe
-  ## @param secondary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
-  ## @param secondary.startupProbe.periodSeconds Period seconds for startupProbe
-  ## @param secondary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
-  ## @param secondary.startupProbe.failureThreshold Failure threshold for startupProbe
-  ## @param secondary.startupProbe.successThreshold Success threshold for startupProbe
-  ##
-  startupProbe:
-    enabled: true
-    initialDelaySeconds: 15
-    periodSeconds: 10
-    timeoutSeconds: 1
-    failureThreshold: 15
-    successThreshold: 1
-  ## @param secondary.customLivenessProbe Override default liveness probe for MySQL secondary containers
-  ##
-  customLivenessProbe: {}
-  ## @param secondary.customReadinessProbe Override default readiness probe for MySQL secondary containers
-  ##
-  customReadinessProbe: {}
-  ## @param secondary.customStartupProbe Override default startup probe for MySQL secondary containers
-  ##
-  customStartupProbe: {}
-  ## @param secondary.extraFlags MySQL 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: ""
-  ## @param secondary.extraEnvVars An array to add extra environment variables on MySQL secondary containers
-  ## E.g.
-  ## extraEnvVars:
-  ##  - name: TZ
-  ##    value: "Europe/Paris"
-  ##
-  extraEnvVars: []
-  ## @param secondary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL secondary containers
-  ##
-  extraEnvVarsCM: ""
-  ## @param secondary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL secondary containers
-  ##
-  extraEnvVarsSecret: ""
-  ## Enable persistence using Persistent Volume Claims
-  ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
-  ##
-  persistence:
-    ## @param secondary.persistence.enabled Enable persistence on MySQL secondary replicas using a `PersistentVolumeClaim`
-    ##
-    enabled: true
-    ## @param secondary.persistence.storageClass MySQL secondary 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: ""
-    ## @param secondary.persistence.annotations MySQL secondary persistent volume claim annotations
-    ##
-    annotations: {}
-    ## @param secondary.persistence.accessModes MySQL secondary persistent volume access Modes
-    ##
-    accessModes:
-      - ReadWriteOnce
-    ## @param secondary.persistence.size MySQL secondary persistent volume size
-    ##
-    size: 8Gi
-    ## @param secondary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-  ## @param secondary.extraVolumes Optionally specify extra list of additional volumes to the MySQL secondary pod(s)
-  ##
-  extraVolumes: []
-  ## @param secondary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s)
-  ##
-  extraVolumeMounts: []
-  ## @param secondary.initContainers Add additional init containers for the MySQL secondary pod(s)
-  ##
-  initContainers: []
-  ## @param secondary.sidecars Add additional sidecar containers for the MySQL secondary pod(s)
-  ##
-  sidecars: []
-  ## MySQL Secondary Service parameters
-  ##
-  service:
-    ## @param secondary.service.type MySQL secondary Kubernetes service type
-    ##
-    type: ClusterIP
-    ## @param secondary.service.ports.mysql MySQL secondary Kubernetes service port
-    ##
-    ports:
-      mysql: 3306
-    ## @param secondary.service.nodePorts.mysql MySQL secondary Kubernetes service node port
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
-    ##
-    nodePorts:
-      mysql: ""
-    ## @param secondary.service.clusterIP MySQL secondary Kubernetes service clusterIP IP
-    ## e.g:
-    ## clusterIP: None
-    ##
-    clusterIP: ""
-    ## @param secondary.service.loadBalancerIP MySQL secondary loadBalancerIP if service type is `LoadBalancer`
-    ## Set the LoadBalancer service type to internal only
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
-    ##
-    loadBalancerIP: ""
-    ## @param secondary.service.externalTrafficPolicy Enable client source IP preservation
-    ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
-    ##
-    externalTrafficPolicy: Cluster
-    ## @param secondary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL secondary service is LoadBalancer
-    ## 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: []
-    ## @param secondary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
-    ##
-    extraPorts: []
-    ## @param secondary.service.annotations Additional custom annotations for MySQL secondary service
-    ##
-    annotations: {}
-    ## @param secondary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
-    ## If "ClientIP", consecutive client requests will be directed to the same Pod
-    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
-    ##
-    sessionAffinity: None
-    ## @param secondary.service.sessionAffinityConfig Additional settings for the sessionAffinity
-    ## sessionAffinityConfig:
-    ##   clientIP:
-    ##     timeoutSeconds: 300
-    ##
-    sessionAffinityConfig: {}
-  ## MySQL secondary Pod Disruption Budget configuration
-  ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-  ##
-  pdb:
-    ## @param secondary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL secondary pods
-    ##
-    create: false
-    ## @param secondary.pdb.minAvailable Minimum number/percentage of MySQL secondary pods that should remain scheduled
-    ##
-    minAvailable: 1
-    ## @param secondary.pdb.maxUnavailable Maximum number/percentage of MySQL secondary pods that may be made unavailable
-    ##
-    maxUnavailable: ""
-  ## @param secondary.podLabels Additional pod labels for MySQL secondary pods
-  ##
-  podLabels: {}
-
-## @section RBAC parameters
-
-## MySQL pods ServiceAccount
-## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
-##
-serviceAccount:
-  ## @param serviceAccount.create Enable the creation of a ServiceAccount for MySQL pods
-  ##
-  create: true
-  ## @param serviceAccount.name Name of the created ServiceAccount
-  ## If not set and create is true, a name is generated using the mysql.fullname template
-  ##
-  name: ""
-  ## @param serviceAccount.annotations Annotations for MySQL Service Account
-  ##
-  annotations: {}
-  ## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account
-  ##
-  automountServiceAccountToken: true
-
-## Role Based Access
-## ref: https://kubernetes.io/docs/admin/authorization/rbac/
-##
-rbac:
-  ## @param rbac.create Whether to create & use RBAC resources or not
-  ##
-  create: false
-  ## @param rbac.rules Custom RBAC rules to set
-  ## e.g:
-  ## rules:
-  ##   - apiGroups:
-  ##       - ""
-  ##     resources:
-  ##       - pods
-  ##     verbs:
-  ##       - get
-  ##       - list
-  ##
-  rules: []
-
-## @section Network Policy
-
-## MySQL Nework Policy configuration
-##
-networkPolicy:
-  ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources
-  ##
-  enabled: false
-  ## @param networkPolicy.allowExternal The Policy model to apply.
-  ## When set to false, only pods with the correct
-  ## client label will have network access to the port MySQL is listening
-  ## on. When true, MySQL will accept connections from any source
-  ## (with the correct destination port).
-  ##
-  allowExternal: true
-  ## @param networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed to MySQL
-  ## If explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
-  ## and that match other criteria, the ones that have the good label, can reach the DB.
-  ## But sometimes, we want the DB to be accessible to clients from other namespaces, in this case, we can use this
-  ## LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
-  ##
-  ## Example:
-  ## explicitNamespacesSelector:
-  ##   matchLabels:
-  ##     role: frontend
-  ##   matchExpressions:
-  ##    - {key: role, operator: In, values: [frontend]}
-  ##
-  explicitNamespacesSelector: {}
-
-## @section Volume Permissions parameters
-
-## Init containers parameters:
-## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
-##
-volumePermissions:
-  ## @param volumePermissions.enabled Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup`
-  ##
-  enabled: false
-  ## @param volumePermissions.image.registry Init container volume-permissions image registry
-  ## @param volumePermissions.image.repository Init container volume-permissions image repository
-  ## @param volumePermissions.image.tag Init container volume-permissions image tag (immutable tags are recommended)
-  ## @param volumePermissions.image.digest Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-  ## @param volumePermissions.image.pullPolicy Init container volume-permissions image pull policy
-  ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
-  ##
-  image:
-    registry: docker.io
-    repository: bitnami/bitnami-shell
-    tag: 11-debian-11-r39
-    digest: ""
-    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/
-    ## e.g:
-    ## pullSecrets:
-    ##   - myRegistryKeySecretName
-    ##
-    pullSecrets: []
-  ## @param volumePermissions.resources Init container volume-permissions resources
-  ##
-  resources: {}
-
-## @section Metrics parameters
-
-## Mysqld Prometheus exporter parameters
-##
-metrics:
-  ## @param metrics.enabled Start a side-car prometheus exporter
-  ##
-  enabled: false
-  ## @param metrics.image.registry Exporter image registry
-  ## @param metrics.image.repository Exporter image repository
-  ## @param metrics.image.tag Exporter image tag (immutable tags are recommended)
-  ## @param metrics.image.digest Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
-  ## @param metrics.image.pullPolicy Exporter image pull policy
-  ## @param metrics.image.pullSecrets Specify docker-registry secret names as an array
-  ##
-  image:
-    registry: docker.io
-    repository: bitnami/mysqld-exporter
-    tag: 0.14.0-debian-11-r45
-    digest: ""
-    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/
-    ## e.g:
-    ## pullSecrets:
-    ##   - myRegistryKeySecretName
-    ##
-    pullSecrets: []
-  ## MySQL Prometheus exporter service parameters
-  ## Mysqld Prometheus exporter liveness and readiness probes
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.service.type Kubernetes service type for MySQL Prometheus Exporter
-  ## @param metrics.service.port MySQL Prometheus Exporter service port
-  ## @param metrics.service.annotations [object] Prometheus exporter service annotations
-  ##
-  service:
-    type: ClusterIP
-    port: 9104
-    annotations:
-      prometheus.io/scrape: "true"
-      prometheus.io/port: "{{ .Values.metrics.service.port }}"
-  ## @param metrics.extraArgs.primary Extra args to be passed to mysqld_exporter on Primary pods
-  ## @param metrics.extraArgs.secondary Extra args to be passed to mysqld_exporter on Secondary pods
-  ## 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: https://kubernetes.io/docs/user-guide/compute-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:'.
-  ## @param metrics.resources.limits The resources limits for MySQL prometheus exporter containers
-  ## @param metrics.resources.requests The requested resources for MySQL prometheus exporter containers
-  ##
-  resources:
-    ## Example:
-    ## limits:
-    ##    cpu: 100m
-    ##    memory: 256Mi
-    limits: {}
-    ## Examples:
-    ## requests:
-    ##    cpu: 100m
-    ##    memory: 256Mi
-    requests: {}
-  ## Mysqld Prometheus exporter liveness probe
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.livenessProbe.enabled Enable livenessProbe
-  ## @param metrics.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
-  ## @param metrics.livenessProbe.periodSeconds Period seconds for livenessProbe
-  ## @param metrics.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
-  ## @param metrics.livenessProbe.failureThreshold Failure threshold for livenessProbe
-  ## @param metrics.livenessProbe.successThreshold Success threshold for livenessProbe
-  ##
-  livenessProbe:
-    enabled: true
-    initialDelaySeconds: 120
-    periodSeconds: 10
-    timeoutSeconds: 1
-    successThreshold: 1
-    failureThreshold: 3
-  ## Mysqld Prometheus exporter readiness probe
-  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
-  ## @param metrics.readinessProbe.enabled Enable readinessProbe
-  ## @param metrics.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
-  ## @param metrics.readinessProbe.periodSeconds Period seconds for readinessProbe
-  ## @param metrics.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
-  ## @param metrics.readinessProbe.failureThreshold Failure threshold for readinessProbe
-  ## @param metrics.readinessProbe.successThreshold Success threshold for readinessProbe
-  ##
-  readinessProbe:
-    enabled: true
-    initialDelaySeconds: 30
-    periodSeconds: 10
-    timeoutSeconds: 1
-    successThreshold: 1
-    failureThreshold: 3
-  ## Prometheus Service Monitor
-  ## ref: https://github.com/coreos/prometheus-operator
-  ##
-  serviceMonitor:
-    ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using PrometheusOperator
-    ##
-    enabled: false
-    ## @param metrics.serviceMonitor.namespace Specify the namespace in which the serviceMonitor resource will be created
-    ##
-    namespace: ""
-    ## @param metrics.serviceMonitor.jobLabel The nabitnamime of the label on the target service to use as the job name in prometheus.
-    ##
-    jobLabel: ""
-    ## @param metrics.serviceMonitor.interval Specify the interval at which metrics should be scraped
-    ##
-    interval: 30s
-    ## @param metrics.serviceMonitor.scrapeTimeout Specify the timeout after which the scrape is ended
-    ## e.g:
-    ## scrapeTimeout: 30s
-    ##
-    scrapeTimeout: ""
-    ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
-    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
-    ##
-    relabelings: []
-    ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
-    ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
-    ##
-    metricRelabelings: []
-    ## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
-    ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
-    ##
-    ## selector:
-    ##   prometheus: my-prometheus
-    ##
-    selector: {}
-    ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
-    ##
-    honorLabels: false
-    ## @param metrics.serviceMonitor.labels 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
-    ##
-    labels: {}
-    ## @param metrics.serviceMonitor.annotations ServiceMonitor annotations
-    ##
-    annotations: {}
-
-  ## Prometheus Operator prometheusRule configuration
-  ##
-  prometheusRule:
-    ## @param metrics.prometheusRule.enabled Creates a Prometheus Operator prometheusRule (also requires `metrics.enabled` to be `true` and `metrics.prometheusRule.rules`)
-    ##
-    enabled: false
-    ## @param metrics.prometheusRule.namespace Namespace for the prometheusRule Resource (defaults to the Release Namespace)
-    ##
-    namespace: ""
-    ## @param metrics.prometheusRule.additionalLabels Additional labels that can be used so prometheusRule will be discovered by Prometheus
-    ##
-    additionalLabels: {}
-    ## @param metrics.prometheusRule.rules Prometheus Rule definitions
-    ##  - alert: Mysql-Down
-    ##    expr: absent(up{job="mysql"} == 1)
-    ##    for: 5m
-    ##    labels:
-    ##      severity: warning
-    ##      service: mariadb
-    ##    annotations:
-    ##      message: 'MariaDB instance {{`{{`}} $labels.instance {{`}}`}}  is down'
-    ##      summary: MariaDB instance is down
-    ##
-    rules: []
diff --git a/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml b/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml
index 976bd7e8..de2b2d74 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml
@@ -43,6 +43,11 @@ commonLabels: {}
 ##
 extraDeploy: []
 
+## @param serviceBindings.enabled Create secret for service binding (Experimental)
+## Ref: https://servicebinding.io/service-provider/
+##
+serviceBindings:
+  enabled: true
 ## Enable diagnostic mode in the deployment
 ##
 diagnosticMode:
@@ -61,7 +66,7 @@ diagnosticMode:
 ## @section MySQL common parameters
 
 ## Bitnami MySQL image
-## ref: https://hub.docker.com/r/bitnami/mysql/tags/
+## ref: https://hub.docker.com/r/drycc/mysql/tags/
 ## @param image.registry MySQL image registry
 ## @param image.repository MySQL image repository
 ## @param image.tag MySQL image tag (immutable tags are recommended)
@@ -71,9 +76,9 @@ diagnosticMode:
 ## @param image.debug Specify if debug logs should be enabled
 ##
 image:
-  registry: docker.io
-  repository: bitnami/mysql
-  tag: 8.0.30-debian-11-r27
+  registry: registry.drycc.cc
+  repository: drycc-addons/mysql
+  tag: "8.0"
   digest: ""
   ## Specify a imagePullPolicy
   ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -98,26 +103,26 @@ architecture: mgr
 ##
 auth:
   ## @param auth.rootPassword Password for the `root` user. Ignored if existing secret is provided
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-the-root-password-on-first-run
+  ## ref: https://github.com/drycc/containers/tree/main/drycc/mysql#setting-the-root-password-on-first-run
   ##
   rootPassword: ""
   ## @param auth.createDatabase Wheter to create the .Values.auth.database or not
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
+  ## ref: https://github.com/drycc/containers/tree/main/drycc/mysql#creating-a-database-on-first-run
   ##
   createDatabase: true
   ## @param auth.database Name for a custom database to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-on-first-run
+  ## ref: https://github.com/drycc/containers/tree/main/drycc/mysql#creating-a-database-on-first-run
   ##
-  database: "my_database"
+  database: "mx_database"
   ## @param auth.username Name for a custom user to create
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#creating-a-database-user-on-first-run
+  ## ref: https://github.com/drycc/containers/tree/main/drycc/mysql#creating-a-database-user-on-first-run
   ##
-  username: ""
+  username: "mx111"
   ## @param auth.password Password for the new user. Ignored if existing secret is provided
   ##
   password: ""
   ## @param auth.replicationUser MySQL replication user
-  ## ref: https://github.com/bitnami/containers/tree/main/bitnami/mysql#setting-up-a-replication-cluster
+  ## ref: https://github.com/drycc/containers/tree/main/drycc/mysql#setting-up-a-replication-cluster
   ##
   replicationUser: replicator
   ## @param auth.replicationPassword MySQL replication user password. Ignored if existing secret is provided
@@ -159,8 +164,8 @@ initdbScripts:
     mgr_host=`hostname`
     svc_mgr_host=${mgr_host%-*}
     ## Generate path
-    base_conf_path=/bitnami/mysql/conf
-    mkdir $base_conf_path
+    base_conf_path=/drycc/mysql
+    # mkdir $base_conf_path
     base_conf_file=$base_conf_path/server-id.cnf
     ############################################
     ## 
@@ -173,7 +178,9 @@ initdbScripts:
     # Copy appropriate conf.d files from config-map to emptyDir.
     echo loose-group_replication_local_address=$mgr_host.$svc_mgr_host:24901 >> $base_conf_file
     echo report_host=$mgr_host.$svc_mgr_host >> $base_conf_file
-    echo loose-group_replication_group_seeds="$svc_mgr_host-0.$svc_mgr_host:24901,$svc_mgr_host-1.$svc_mgr_host:24901,$svc_mgr_host-2.$svc_mgr_host:24901" >> /opt/bitnami/mysql/conf/bitnami/server-id.cnf
+    echo loose-group_replication_group_seeds="$svc_mgr_host-0.$svc_mgr_host:24901,$svc_mgr_host-1.$svc_mgr_host:24901,$svc_mgr_host-2.$svc_mgr_host:24901" >> $base_conf_file 
+
+    echo plugin_load_add='group_replication.so' >> $base_conf_file
 
 ## @param initdbScriptsConfigMap ConfigMap with the initdb scripts (Note: Overrides `initdbScripts`)
 ##
@@ -207,67 +214,70 @@ primary:
   configuration: |-
     [mysqld]
     # server
-    default_authentication_plugin=mysql_native_password
+    #default_authentication_plugin=mysql_native_password
+    default_authentication_plugin=caching_sha2_password
     skip-name-resolve
+    relay-log=relay-log
+    relay-log-index=relay-log.index
+    log-bin=mysql-bin
     explicit_defaults_for_timestamp
-    basedir=/opt/bitnami/mysql
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
+    basedir=/opt/drycc/mysql
+    plugin_dir=/opt/drycc/mysql/lib/plugin
     port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    datadir=/bitnami/mysql/data
-    tmpdir=/opt/bitnami/mysql/tmp
+    socket=/opt/drycc/mysql/tmp/mysql.sock
+    datadir=/drycc/mysql/data
+    tmpdir=/opt/drycc/mysql/tmp
     max_allowed_packet=16M
     bind-address=*
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
-    log-error=/opt/bitnami/mysql/logs/mysqld.log
-    character-set-server=UTF8
-    collation-server=utf8_general_ci
+    pid-file=/opt/drycc/mysql/tmp/mysqld.pid
+    log-error=/opt/drycc/mysql/logs/mysqld.log
+    character-set-server=UTF8MB4
+    collation-server=UTF8MB4_general_ci
     slow_query_log=0
-    slow_query_log_file=/opt/bitnami/mysql/logs/mysqld.log
+    slow_query_log_file=/opt/drycc/mysql/logs/mysqld.log
     long_query_time=10.0
     log_timestamps=system
     disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
-    sql_require_primary_key=ON 
+    sql_require_primary_key=ON
+    log_error_suppression_list='MY-013360'
     # Replication
   
     log_bin=mysql-bin
-    binlog_format=ROW 
     gtid_mode=ON
     enforce_gtid_consistency=ON
     log_replica_updates=ON 
-    master_info_repository=TABLE 
-    relay_log_info_repository=TABLE 
+    #master_info_repository=TABLE 
+    #relay_log_info_repository=TABLE 
     #super_read_only=ON 
     #binlog_transaction_dependency_tarcking=WRITEST 
-    transaction_write_set_extraction=XXHASH64
+    #transaction_write_set_extraction=XXHASH64
 
     # Multi-threaded Replication
-    slave_parallel_type=LOGICAL_CLOCK
-    slave_preserve_commit_order=ON 
-    slave_parallel_workers=4
+    replica_preserve_commit_order=ON 
+    replica_parallel_workers=4
 
     # Group Replication Settings 
-    plugin_load_add="group_replication.so"
+    #plugin_load_add="group_replication.so"
     loose-group_replication_recovery_get_public_key=ON 
     loose-group_replication_recovery_use_ssl=on
     loose-group_replication_group_name="{{uuidv4}}"
-    # group_replication_ip_allowlist=
+    loose-group_replication_ip_allowlist="0.0.0.0/0"
 
     loose-group_replication_bootstrap_group=OFF
     loose-group_replication_start_on_boot=OFF
 
     [client]
     port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
+    socket=/opt/drycc/mysql/tmp/mysql.sock
     default-character-set=UTF8MB4
-    plugin_dir=/opt/bitnami/mysql/lib/plugin
+    plugin_dir=/opt/drycc/mysql/lib/plugin
  
     [manager]
     port=3306
-    socket=/opt/bitnami/mysql/tmp/mysql.sock
-    pid-file=/opt/bitnami/mysql/tmp/mysqld.pid
+    socket=/opt/drycc/mysql/tmp/mysql.sock
+    pid-file=/opt/drycc/mysql/tmp/mysqld.pid
     
-    !includedir /bitnami/mysql/conf/
+    !includedir /drycc/mysql/
 
   ## @param primary.existingConfigmap Name of existing ConfigMap with MySQL Primary configuration.
   ## NOTE: When it's set the 'configuration' parameter is ignored
@@ -556,6 +566,10 @@ primary:
     ##     timeoutSeconds: 300
     ##
     sessionAffinityConfig: {}
+    headless:
+      ## @param secondary.service.headless.annotations Additional custom annotations for headless MySQL secondary service.
+      ##
+      annotations: {}
   ## MySQL primary Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
   ##
@@ -573,7 +587,344 @@ primary:
   ##
   podLabels: {}
 
-## @section RBAC parameters
+cluster:
+  ## @param router.name Name of the cluster 
+  ##
+  name: cluster
+
+  image:
+    registry: registry.drycc.cc
+    repository: drycc-addons/mysqlshell   
+    tag: 8.0.34
+    digest: ""
+    pullPolicy: IfNotPresent 
+
+router:
+  ## @param router.name Name of the router 
+  ##
+  name: router
+  ## @param router.replicaCount Number of MySQL secondary replicas
+  ##
+  replicaCount: 2
+
+  ## @param primary.existingConfigmap Name of existing ConfigMap with MySQL Primary configuration.
+  ## NOTE: When it's set the 'configuration' parameter is ignored
+  ##
+  existingConfigmap: ""
+  ## @param primary.updateStrategy.type Update strategy type for the MySQL primary statefulset
+  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
+  ##
+  updateStrategy:
+    type: RollingUpdate
+  ## @param primary.podAnnotations Additional pod annotations for MySQL primary pods
+  ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
+  ##
+  podAnnotations: {}
+  ## @param primary.podAffinityPreset MySQL primary pod affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
+  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
+  ##
+  podAffinityPreset: ""
+  ## @param primary.podAntiAffinityPreset MySQL primary pod anti-affinity preset. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
+  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
+  ##
+  podAntiAffinityPreset: soft
+  ## MySQL Primary node affinity preset
+  ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
+  ##
+  nodeAffinityPreset:
+    ## @param primary.nodeAffinityPreset.type MySQL primary node affinity preset type. Ignored if `primary.affinity` is set. Allowed values: `soft` or `hard`
+    ##
+    type: ""
+    ## @param primary.nodeAffinityPreset.key MySQL primary node label key to match Ignored if `primary.affinity` is set.
+    ## E.g.
+    ## key: "kubernetes.io/e2e-az-name"
+    ##
+    key: ""
+    ## @param primary.nodeAffinityPreset.values MySQL primary node label values to match. Ignored if `primary.affinity` is set.
+    ## E.g.
+    ## values:
+    ##   - e2e-az1
+    ##   - e2e-az2
+    ##
+    values: []
+
+  affinity: {}
+  ## @param secondary.nodeSelector Node labels for MySQL secondary pods assignment
+  ## ref: https://kubernetes.io/docs/user-guide/node-selection/
+  ##
+  nodeSelector: {}
+  ## @param secondary.tolerations Tolerations for MySQL secondary pods assignment
+  ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+  ##
+  tolerations: []
+  ## @param secondary.priorityClassName MySQL secondary pods' priorityClassName
+  ##
+  priorityClassName: ""
+  ## @param secondary.runtimeClassName MySQL secondary pods' runtimeClassName
+  ##
+  runtimeClassName: ""
+  ## @param secondary.schedulerName Name of the k8s scheduler (other than default)
+  ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
+  ##
+  schedulerName: ""
+  ## @param secondary.terminationGracePeriodSeconds In seconds, time the given to the MySQL secondary pod needs to terminate gracefully
+  ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
+  ##
+  terminationGracePeriodSeconds: ""
+  ## @param secondary.topologySpreadConstraints Topology Spread Constraints for pod assignment
+  ## https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
+  ## The value is evaluated as a template
+  ##
+  topologySpreadConstraints: []
+  ## @param secondary.podManagementPolicy podManagementPolicy to manage scaling operation of MySQL secondary pods
+  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
+  ##
+  podManagementPolicy: ""
+  ## MySQL secondary Pod security context
+  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
+  ## @param secondary.podSecurityContext.enabled Enable security context for MySQL secondary pods
+  ## @param secondary.podSecurityContext.fsGroup Group ID for the mounted volumes' filesystem
+  ##
+  podSecurityContext:
+    enabled: true
+    fsGroup: 1001
+  ## MySQL secondary container security context
+  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
+  ## @param secondary.containerSecurityContext.enabled MySQL secondary container securityContext
+  ## @param secondary.containerSecurityContext.runAsUser User ID for the MySQL secondary container
+  ## @param secondary.containerSecurityContext.runAsNonRoot Set MySQL secondary container's Security Context runAsNonRoot
+  ##
+  containerSecurityContext:
+    enabled: true
+    runAsUser: 1001
+    runAsNonRoot: true
+  ## MySQL secondary container's resource requests and limits
+  ## ref: https://kubernetes.io/docs/user-guide/compute-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:'.
+  ## @param secondary.resources.limits The resources limits for MySQL secondary containers
+  ## @param secondary.resources.requests The requested resources for MySQL secondary containers
+  ##
+  resources:
+    ## Example:
+    ## limits:
+    ##    cpu: 250m
+    ##    memory: 256Mi
+    ##
+    limits: {}
+    ## Examples:
+    ## requests:
+    ##    cpu: 250m
+    ##    memory: 256Mi
+    ##
+    requests: {}
+  ## Configure extra options for liveness probe
+  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
+  ## @param secondary.livenessProbe.enabled Enable livenessProbe
+  ## @param secondary.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
+  ## @param secondary.livenessProbe.periodSeconds Period seconds for livenessProbe
+  ## @param secondary.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
+  ## @param secondary.livenessProbe.failureThreshold Failure threshold for livenessProbe
+  ## @param secondary.livenessProbe.successThreshold Success threshold for livenessProbe
+  ##
+  livenessProbe:
+    enabled: true
+    initialDelaySeconds: 5
+    periodSeconds: 10
+    timeoutSeconds: 1
+    failureThreshold: 3
+    successThreshold: 1
+  ## Configure extra options for readiness probe
+  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
+  ## @param secondary.readinessProbe.enabled Enable readinessProbe
+  ## @param secondary.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
+  ## @param secondary.readinessProbe.periodSeconds Period seconds for readinessProbe
+  ## @param secondary.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
+  ## @param secondary.readinessProbe.failureThreshold Failure threshold for readinessProbe
+  ## @param secondary.readinessProbe.successThreshold Success threshold for readinessProbe
+  ##
+  readinessProbe:
+    enabled: true
+    initialDelaySeconds: 5
+    periodSeconds: 10
+    timeoutSeconds: 1
+    failureThreshold: 3
+    successThreshold: 1
+  ## Configure extra options for startupProbe probe
+  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
+  ## @param secondary.startupProbe.enabled Enable startupProbe
+  ## @param secondary.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
+  ## @param secondary.startupProbe.periodSeconds Period seconds for startupProbe
+  ## @param secondary.startupProbe.timeoutSeconds Timeout seconds for startupProbe
+  ## @param secondary.startupProbe.failureThreshold Failure threshold for startupProbe
+  ## @param secondary.startupProbe.successThreshold Success threshold for startupProbe
+  ##
+  startupProbe:
+    enabled: true
+    initialDelaySeconds: 15
+    periodSeconds: 10
+    timeoutSeconds: 1
+    failureThreshold: 15
+    successThreshold: 1
+  ## @param secondary.customLivenessProbe Override default liveness probe for MySQL secondary containers
+  ##
+  customLivenessProbe: {}
+  ## @param secondary.customReadinessProbe Override default readiness probe for MySQL secondary containers
+  ##
+  customReadinessProbe: {}
+  ## @param secondary.customStartupProbe Override default startup probe for MySQL secondary containers
+  ##
+  customStartupProbe: {}
+  ## @param secondary.extraFlags MySQL 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: ""
+  ## @param secondary.extraEnvVars An array to add extra environment variables on MySQL secondary containers
+  ## E.g.
+  ## extraEnvVars:
+  ##  - name: TZ
+  ##    value: "Europe/Paris"
+  ##
+  extraEnvVars: []
+  ## @param secondary.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for MySQL secondary containers
+  ##
+  extraEnvVarsCM: ""
+  ## @param secondary.extraEnvVarsSecret Name of existing Secret containing extra env vars for MySQL secondary containers
+  ##
+  extraEnvVarsSecret: ""
+  ## @param secondary.extraPorts Extra ports to expose
+  ##
+  extraPorts: []
+  ## Enable persistence using Persistent Volume Claims
+  ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
+  ##
+  persistence:
+    ## @param secondary.persistence.enabled Enable persistence on MySQL secondary replicas using a `PersistentVolumeClaim`
+    ##
+    enabled: true
+    ## @param secondary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL secondary replicas
+    ## NOTE: When it's set the rest of persistence parameters are ignored
+    ##
+    existingClaim: ""
+    ## @param secondary.persistence.subPath The name of a volume's sub path to mount for persistence
+    ##
+    subPath: ""
+    ## @param secondary.persistence.storageClass MySQL secondary 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: ""
+    ## @param secondary.persistence.annotations MySQL secondary persistent volume claim annotations
+    ##
+    annotations: {}
+    ## @param secondary.persistence.accessModes MySQL secondary persistent volume access Modes
+    ##
+    accessModes:
+      - ReadWriteOnce
+    ## @param secondary.persistence.size MySQL secondary persistent volume size
+    ##
+    size: 8Gi
+    ## @param secondary.persistence.selector Selector to match an existing Persistent Volume
+    ## selector:
+    ##   matchLabels:
+    ##     app: my-app
+    ##
+    selector: {}
+  ## @param secondary.extraVolumes Optionally specify extra list of additional volumes to the MySQL secondary pod(s)
+  ##
+  extraVolumes: []
+  ## @param secondary.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the MySQL secondary container(s)
+  ##
+  extraVolumeMounts: []
+  ## @param secondary.initContainers Add additional init containers for the MySQL secondary pod(s)
+  ##
+  initContainers: []
+  ## @param secondary.sidecars Add additional sidecar containers for the MySQL secondary pod(s)
+  ##
+  sidecars: []
+  ## MySQL Secondary Service parameters
+  ##
+  service:
+    ## @param secondary.service.type MySQL secondary Kubernetes service type
+    ##
+    type: LoadBalancer
+    ## @param secondary.service.ports.mysql MySQL secondary Kubernetes service port
+    ##
+    ports:
+      router: 6446
+    ## @param secondary.service.nodePorts.mysql MySQL secondary Kubernetes service node port
+    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
+    ##
+    nodePorts:
+      router: ""
+    ## @param secondary.service.clusterIP MySQL secondary Kubernetes service clusterIP IP
+    ## e.g:
+    ## clusterIP: None
+    ##
+    clusterIP: ""
+    ## @param secondary.service.loadBalancerIP MySQL secondary loadBalancerIP if service type is `LoadBalancer`
+    ## Set the LoadBalancer service type to internal only
+    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer
+    ##
+    loadBalancerIP: ""
+    ## @param secondary.service.externalTrafficPolicy Enable client source IP preservation
+    ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
+    ##
+    externalTrafficPolicy: Cluster
+    ## @param secondary.service.loadBalancerSourceRanges Addresses that are allowed when MySQL secondary service is LoadBalancer
+    ## 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: []
+    ## @param secondary.service.extraPorts Extra ports to expose (normally used with the `sidecar` value)
+    ##
+    extraPorts: []
+    ## @param secondary.service.annotations Additional custom annotations for MySQL secondary service
+    ##
+    annotations: {}
+    ## @param secondary.service.sessionAffinity Session Affinity for Kubernetes service, can be "None" or "ClientIP"
+    ## If "ClientIP", consecutive client requests will be directed to the same Pod
+    ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
+    ##
+    sessionAffinity: None
+    ## @param secondary.service.sessionAffinityConfig Additional settings for the sessionAffinity
+    ## sessionAffinityConfig:
+    ##   clientIP:
+    ##     timeoutSeconds: 300
+    ##
+    sessionAffinityConfig: {}
+    ## Headless service properties
+    ##
+    headless:
+      ## @param secondary.service.headless.annotations Additional custom annotations for headless MySQL secondary service.
+      ##
+      annotations: {}
+
+  ## MySQL secondary Pod Disruption Budget configuration
+  ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
+  ##
+  pdb:
+    ## @param secondary.pdb.create Enable/disable a Pod Disruption Budget creation for MySQL secondary pods
+    ##
+    create: false
+    ## @param secondary.pdb.minAvailable Minimum number/percentage of MySQL secondary pods that should remain scheduled
+    ##
+    minAvailable: 1
+    ## @param secondary.pdb.maxUnavailable Maximum number/percentage of MySQL secondary pods that may be made unavailable
+    ##
+    maxUnavailable: ""
+  ## @param secondary.podLabels Additional pod labels for MySQL secondary pods
+  ##
+  podLabels: {}
 
 ## MySQL pods ServiceAccount
 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
@@ -660,11 +1011,11 @@ volumePermissions:
   ## @param volumePermissions.image.pullSecrets Specify docker-registry secret names as an array
   ##
   image:
-    registry: docker.io
-    repository: bitnami/bitnami-shell
-    tag: 11-debian-11-r39
+    registry: registry.drycc.cc
+    repository: drycc/os-shell
+    tag: debian-12
     digest: ""
-    pullPolicy: IfNotPresent
+    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/
@@ -694,7 +1045,7 @@ metrics:
   ##
   image:
     registry: docker.io
-    repository: bitnami/mysqld-exporter
+    repository: drycc/mysqld-exporter
     tag: 0.14.0-debian-11-r45
     digest: ""
     pullPolicy: IfNotPresent
@@ -823,7 +1174,7 @@ metrics:
     ## @param metrics.serviceMonitor.namespace Specify the namespace in which the serviceMonitor resource will be created
     ##
     namespace: ""
-    ## @param metrics.serviceMonitor.jobLabel The nabitnamime of the label on the target service to use as the job name in prometheus.
+    ## @param metrics.serviceMonitor.jobLabel The nadryccme of the label on the target service to use as the job name in prometheus.
     ##
     jobLabel: ""
     ## @param metrics.serviceMonitor.interval Specify the interval at which metrics should be scraped
@@ -843,7 +1194,7 @@ metrics:
     ##
     metricRelabelings: []
     ## @param metrics.serviceMonitor.selector ServiceMonitor selector labels
-    ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
+    ## ref: https://github.com/drycc/charts/tree/master/drycc/prometheus-operator#prometheus-configuration
     ##
     ## selector:
     ##   prometheus: my-prometheus
diff --git a/addons/mysql-cluster/8.0/plans/standard-10/bind.yaml b/addons/mysql-cluster/8.0/plans/standard-10/bind.yaml
index 1ed0e096..fa1ceb8e 100644
--- a/addons/mysql-cluster/8.0/plans/standard-10/bind.yaml
+++ b/addons/mysql-cluster/8.0/plans/standard-10/bind.yaml
@@ -1,8 +1,29 @@
 credential:
-  {{- if (eq .Values.primary.service.type "LoadBalancer") }}
-  - name: HOST
+  {{- if (eq .Values.router.service.type "LoadBalancer") }}
+  - name: host
     valueFrom:
-      serviceRef:
-        name: {{ include "common.names.fullname" . }}
-        jsonpath: '{ .status.loadBalancer.ingress[*].ip }'
+      secretKeyRef:
+        name: {{ template "common.names.fullname" . }}-svcbind-custom-user
+        jsonpath: '{ .data.host }' 
+  - name: database
+    valueFrom:
+      secretKeyRef:
+        name: {{ template "common.names.fullname" . }}-svcbind-custom-user
+        jsonpath: '{ .data.database }' 
+  - name: password
+    valueFrom:
+      secretKeyRef:
+        name: {{ template "common.names.fullname" . }}-svcbind-custom-user
+        jsonpath: '{ .data.username }' 
+  - name: username
+    valueFrom:
+      secretKeyRef:
+        name: {{ template "common.names.fullname" . }}-svcbind-custom-user
+        jsonpath: '{ .data.username }' 
+  - name: port
+    valueFrom:
+      secretKeyRef:
+        name: {{ template "common.names.fullname" . }}-svcbind-custom-user
+        jsonpath: '{ .data.port }' 
   {{- end }}
+
diff --git a/addons/mysql-cluster/8.0/plans/standard-10/values.yaml b/addons/mysql-cluster/8.0/plans/standard-10/values.yaml
index cb1f2af7..baca4920 100644
--- a/addons/mysql-cluster/8.0/plans/standard-10/values.yaml
+++ b/addons/mysql-cluster/8.0/plans/standard-10/values.yaml
@@ -24,25 +24,35 @@ resources:
 ## Enable persistence using Persistent Volume Claims
 ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes/
 ##
-persistence:
-  ## @param persistence.enabled Enable MinIO&reg; data persistence using PVC. If false, use emptyDir
-  ##
-  enabled: true
-  ## @param persistence.storageClass PVC Storage Class for MinIO&reg; data volume
-  ## 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: ""
-  ## @param persistence.mountPath Data volume mount path
-  ##
-  mountPath: /data
-  ## @param persistence.accessModes PVC Access Modes for MinIO&reg; data volume
-  ##
-  accessModes:
-    - ReadWriteOnce
-  ## @param persistence.size PVC Storage Request for MinIO&reg; data volume
-  ##
-  size: 10Gi
+  persistence:
+    ## @param primary.persistence.enabled Enable persistence on MySQL primary replicas using a `PersistentVolumeClaim`. If false, use emptyDir
+    ##
+    enabled: true
+    ## @param primary.persistence.existingClaim Name of an existing `PersistentVolumeClaim` for MySQL primary replicas
+    ## NOTE: When it's set the rest of persistence parameters are ignored
+    ##
+    existingClaim: ""
+    ## @param primary.persistence.storageClass MySQL primary 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: ""
+    ## @param primary.persistence.annotations MySQL primary persistent volume claim annotations
+    ##
+    annotations: {}
+    ## @param primary.persistence.accessModes MySQL primary persistent volume access Modes
+    ##
+    accessModes:
+      - ReadWriteOnce
+    ## @param primary.persistence.size MySQL primary persistent volume size
+    ##
+    size: 10Gi
+    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
+    ## selector:
+    ##   matchLabels:
+    ##     app: my-app
+    ##
+    selector: {}
