diff --git a/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml b/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml
index 2e1071c5..9110e32b 100644
--- a/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml
+++ b/addons/clickhouse/24/chart/clickhouse/templates/statefulset.yaml
@@ -78,7 +78,7 @@ spec:
       topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" $.Values.topologySpreadConstraints "context" $) | nindent 8 }}
       {{- end }}
       {{- if $.Values.podSecurityContext.enabled }}
-      ssecurityContext: {{- omit $.Values.podSecurityContext "enabled" | toYaml | nindent 8 }}
+      securityContext: {{- omit $.Values.podSecurityContext "enabled" | toYaml | nindent 8 }}
       {{- end }}
       {{- if $.Values.terminationGracePeriodSeconds }}
       terminationGracePeriodSeconds: {{ $.Values.terminationGracePeriodSeconds }}
diff --git a/addons/index.yaml b/addons/index.yaml
index 2c87453f..ffc0fa94 100644
--- a/addons/index.yaml
+++ b/addons/index.yaml
@@ -5,15 +5,16 @@ entries:
       description: "Apache Airflow is a platform that allows you to create, schedule and monitor workflows using Python, Jinja and a message queue"
     - version: 3
       description: "Apache Airflow is a platform that allows you to create, schedule and monitor workflows using Python, Jinja and a message queue"
-  cloudbeaver:
-    - version: 23
-      description: "Cloud Database Manager."
   mysql-cluster:
     - version: 8.0
       description: "The world's most popular open source database cluster."
+    - version: 8.4
+      description: "The world's most popular open source database cluster."
   mysql-basic:
     - version: 8.0
       description: "The world's most popular open source database."
+    - version: 8.4
+      description: "The world's most popular open source database."
   minio:
     - version: 2023
       description: "MinIO offers high-performance, S3 compatible object storage."
diff --git a/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml b/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml
index 4e443e39..2849dc83 100644
--- a/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml
+++ b/addons/mysql-basic/8.0/chart/mysql-basic/templates/networkpolicy.yaml
@@ -35,6 +35,13 @@ spec:
             matchLabels:
               kubernetes.io/metadata.name: {{ .Release.Namespace }}
       {{- end }}
+      {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }}
+        {{- if $namespace }}
+        - namespaceSelector:
+            matchLabels:
+              kubernetes.io/metadata.name: {{ $namespace }}
+        {{- end }}
+      {{- end }}
       {{- range $namespace := .Values.networkPolicy.allowNamespaces }}
         {{- if $namespace }}
         - namespaceSelector:
diff --git a/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml b/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml
index 27892156..bd8c41f3 100644
--- a/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml
+++ b/addons/mysql-basic/8.0/chart/mysql-basic/templates/primary/statefulset.yaml
@@ -132,6 +132,8 @@ spec:
           env:
             - name: DRYCC_DEBUG
               value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
+            - name: MALLOC_ARENA_MAX
+              value: "1"
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_ROOT_PASSWORD_FILE
               value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
diff --git a/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml b/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml
index 681faaad..3822638c 100644
--- a/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml
+++ b/addons/mysql-basic/8.0/chart/mysql-basic/values.yaml
@@ -636,9 +636,10 @@ networkPolicy:
   ## (with the correct destination port).
   ##
   allowCurrentNamespace: true
-  allowNamespaces: 
+  allowDefaultNamespaces: 
     - drycc
     - backup
+  allowNamespaces: []
 
 ## @section Volume Permissions parameters
 
diff --git a/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml b/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml
index 8decc1ba..52f539e7 100644
--- a/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml
+++ b/addons/mysql-basic/8.0/plans/standard-16c64g400/values.yaml
@@ -40,49 +40,4 @@ primary:
 ## 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: 400Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-
-router:
-  replicaCount: 4
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 3900
-    [routing:bootstrap_rw]
-    max_connections= 3900
-  resources:
-    limits: 
-      cpu: 1600m
-      memory: 2Gi
-    requests:
-      cpu: 100m
-      memory: 1Gi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml b/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml
index 80d080b1..654203df 100644
--- a/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml
+++ b/addons/mysql-basic/8.0/plans/standard-2c4g20/values.yaml
@@ -40,34 +40,4 @@ primary:
 ## 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: 20Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
\ No newline at end of file
+    size: 20Gi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml b/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml
index 3b6d6ff1..94d9a0b5 100644
--- a/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml
+++ b/addons/mysql-basic/8.0/plans/standard-2c8g50/values.yaml
@@ -40,48 +40,4 @@ primary:
 ## 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: 50Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-router:
-  replicaCount: 2
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 900
-    [routing:bootstrap_rw]
-    max_connections= 900
-  resources:
-    limits: 
-      cpu: 500m
-      memory: 512Mi
-    requests: 
-      cpu: 100m
-      memory: 512Mi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml b/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml
index b6c29a05..4b244b2e 100644
--- a/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml
+++ b/addons/mysql-basic/8.0/plans/standard-32c128g800/values.yaml
@@ -40,48 +40,4 @@ primary:
 ## 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: 800Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-router:
-  replicaCount: 4
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 7900
-    [routing:bootstrap_rw]
-    max_connections= 7900
-  resources:
-    limits: 
-      cpu: 3200m
-      memory: 4Gi
-    requests:
-      cpu: 100m
-      memory: 1Gi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml b/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml
index 6c764722..0cb26ef0 100644
--- a/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml
+++ b/addons/mysql-basic/8.0/plans/standard-4c16g100/values.yaml
@@ -41,49 +41,4 @@ primary:
 ## 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: 100Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-
-router:
-  replicaCount: 3
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 1200
-    [routing:bootstrap_rw]
-    max_connections= 1200
-  resources:
-    limits: 
-      cpu: 500m
-      memory: 512Mi
-    requests: 
-      cpu: 500m
-      memory: 512Mi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml b/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml
index 44e06420..97ec1e09 100644
--- a/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml
+++ b/addons/mysql-basic/8.0/plans/standard-8c32g200/values.yaml
@@ -40,49 +40,4 @@ primary:
 ## 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: 200Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-
-router:
-  replicaCount: 4
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 1900
-    [routing:bootstrap_rw]
-    max_connections= 1900
-  resources:
-    limits: 
-      cpu: 800m
-      memory: 1024Mi
-    requests:
-      cpu: 100m
-      memory: 1Gi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml
index 4e443e39..aae6d34f 100644
--- a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml
+++ b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/networkpolicy.yaml
@@ -35,6 +35,14 @@ spec:
             matchLabels:
               kubernetes.io/metadata.name: {{ .Release.Namespace }}
       {{- end }}
+      {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }}
+        {{- if $namespace }}
+        - namespaceSelector:
+            matchLabels:
+              kubernetes.io/metadata.name: {{ $namespace }}
+        {{- end }}
+      {{- end }}
+
       {{- range $namespace := .Values.networkPolicy.allowNamespaces }}
         {{- if $namespace }}
         - namespaceSelector:
diff --git a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml
index 27892156..bd8c41f3 100644
--- a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml
+++ b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/templates/primary/statefulset.yaml
@@ -132,6 +132,8 @@ spec:
           env:
             - name: DRYCC_DEBUG
               value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
+            - name: MALLOC_ARENA_MAX
+              value: "1"
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_ROOT_PASSWORD_FILE
               value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
diff --git a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml
index 59b07245..d9e8b29b 100644
--- a/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml
+++ b/addons/mysql-basic/8.4/chart/mysql-basic-8.4/values.yaml
@@ -635,9 +635,12 @@ networkPolicy:
   ## (with the correct destination port).
   ##
   allowCurrentNamespace: true
-  allowNamespaces: 
+
+  allowDefaultNamespaces: 
     - drycc
     - backup
+  allowNamespaces: []
+
 
 ## @section Volume Permissions parameters
 
diff --git a/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml b/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml
index 8decc1ba..52f539e7 100644
--- a/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml
+++ b/addons/mysql-basic/8.4/plans/standard-16c64g400/values.yaml
@@ -40,49 +40,4 @@ primary:
 ## 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: 400Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-
-router:
-  replicaCount: 4
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 3900
-    [routing:bootstrap_rw]
-    max_connections= 3900
-  resources:
-    limits: 
-      cpu: 1600m
-      memory: 2Gi
-    requests:
-      cpu: 100m
-      memory: 1Gi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml b/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml
index 80d080b1..654203df 100644
--- a/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml
+++ b/addons/mysql-basic/8.4/plans/standard-2c4g20/values.yaml
@@ -40,34 +40,4 @@ primary:
 ## 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: 20Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
\ No newline at end of file
+    size: 20Gi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml b/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml
index 3b6d6ff1..00eaa72a 100644
--- a/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml
+++ b/addons/mysql-basic/8.4/plans/standard-2c8g50/values.yaml
@@ -40,48 +40,5 @@ primary:
 ## 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: 50Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-router:
-  replicaCount: 2
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 900
-    [routing:bootstrap_rw]
-    max_connections= 900
-  resources:
-    limits: 
-      cpu: 500m
-      memory: 512Mi
-    requests: 
-      cpu: 100m
-      memory: 512Mi
\ No newline at end of file
+
diff --git a/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml b/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml
index b6c29a05..38adc74f 100644
--- a/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml
+++ b/addons/mysql-basic/8.4/plans/standard-32c128g800/values.yaml
@@ -40,48 +40,5 @@ primary:
 ## 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: 800Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-router:
-  replicaCount: 4
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 7900
-    [routing:bootstrap_rw]
-    max_connections= 7900
-  resources:
-    limits: 
-      cpu: 3200m
-      memory: 4Gi
-    requests:
-      cpu: 100m
-      memory: 1Gi
\ No newline at end of file
+
diff --git a/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml b/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml
index 6c764722..0cb26ef0 100644
--- a/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml
+++ b/addons/mysql-basic/8.4/plans/standard-4c16g100/values.yaml
@@ -41,49 +41,4 @@ primary:
 ## 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: 100Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
-
-router:
-  replicaCount: 3
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 1200
-    [routing:bootstrap_rw]
-    max_connections= 1200
-  resources:
-    limits: 
-      cpu: 500m
-      memory: 512Mi
-    requests: 
-      cpu: 500m
-      memory: 512Mi
\ No newline at end of file
diff --git a/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml b/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml
index 44e06420..ee7f7492 100644
--- a/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml
+++ b/addons/mysql-basic/8.4/plans/standard-8c32g200/values.yaml
@@ -40,49 +40,5 @@ primary:
 ## 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: 200Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
 
-router:
-  replicaCount: 4
-  configuration: |-
-    [DEFAULT]
-    max_total_connections = 1900
-    [routing:bootstrap_rw]
-    max_connections= 1900
-  resources:
-    limits: 
-      cpu: 800m
-      memory: 1024Mi
-    requests:
-      cpu: 100m
-      memory: 1Gi
\ No newline at end of file
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
index 19bc1f9e..e53c56ff 100644
--- 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
@@ -28,7 +28,7 @@ spec:
       initContainers:
         - name: init-wait
           image: registry.drycc.cc/drycc/python-dev:latest
-          imagePullPolicy: {{.Values.imagePullPolicy}}
+          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
           args:
           - netcat
           - -v
@@ -59,14 +59,32 @@ spec:
 
               # create mysql cluster  --file
               echo "
-              shell.options['dba.restartWaitTimeout']=300;
+              shell.options['dba.restartWaitTimeout']=3600;
+              shell.options['dba.connectTimeout']=3600;
+              shell.options['useWizards']=false;
               dba.createCluster('MXMGR',{disableClone:false});
-              dba.getCluster().addInstance('root@${HOST_1}',{recoveryMethod:'clone'});
-              dba.getCluster().addInstance('root@${HOST_2}',{recoveryMethod:'clone'});
-              dba.getCluster().status();
               " > /tmp/create_cluster.js
+
+              echo "
+              shell.options['dba.restartWaitTimeout']=3600;
+              shell.options['dba.connectTimeout']=3600;
+              shell.options['useWizards']=false;
+              dba.getCluster().addInstance('root@${HOST_1}',{recoveryMethod:'clone',waitRecovery: 0});
+              " > /tmp/add_instance_1.js
+
+              echo "
+              shell.options['dba.restartWaitTimeout']=3600;
+              shell.options['dba.connectTimeout']=3600;
+              shell.options['useWizards']=false;
+              dba.getCluster().addInstance('root@${HOST_2}',{recoveryMethod:'clone',waitRecovery: 0});
+              " > /tmp/add_instance_2.js
+
               mysqlsh --uri=${MYSQL_ROOT_USER}@${HOST_0}:${MYSQL_PORT_NUMBER} -p${MYSQL_ROOT_PASSWORD} -f /tmp/create_cluster.js
-              
+              sleep 5
+              mysqlsh --uri=${MYSQL_ROOT_USER}@${HOST_0}:${MYSQL_PORT_NUMBER} -p${MYSQL_ROOT_PASSWORD} -f /tmp/add_instance_1.js
+              sleep 120
+              mysqlsh --uri=${MYSQL_ROOT_USER}@${HOST_0}:${MYSQL_PORT_NUMBER} -p${MYSQL_ROOT_PASSWORD} -f /tmp/add_instance_2.js
+              sleep 120
               # init sql --sql
               echo "
               GRANT ALL PRIVILEGES ON *.* TO administrator@'%' WITH GRANT OPTION;flush privileges;
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 916f06d5..5581b8c7 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
@@ -40,6 +40,13 @@ spec:
             matchLabels:
               kubernetes.io/metadata.name: {{ .Release.Namespace }}
       {{- end }}
+      {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }}
+        {{- if $namespace }}
+        - namespaceSelector:
+            matchLabels:
+              kubernetes.io/metadata.name: {{ $namespace }}
+        {{- end }}
+      {{- end }}
       {{- range $namespace := .Values.networkPolicy.allowNamespaces }}
         {{- if $namespace }}
         - namespaceSelector:
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 2a444c87..b0b5b738 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
@@ -132,6 +132,8 @@ spec:
           env:
             - name: DRYCC_DEBUG
               value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
+            - name: MALLOC_ARENA_MAX
+              value: "1"
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_ROOT_PASSWORD_FILE
               value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
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 e839eb14..be3df00e 100644
--- a/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml
+++ b/addons/mysql-cluster/8.0/chart/mysql-cluster/values.yaml
@@ -995,6 +995,9 @@ networkPolicy:
   ## (with the correct destination port).
   ##
   allowCurrentNamespace: true
+  allowDefaultNamespaces: 
+    - drycc
+    - backup
   allowNamespaces: []
 
 ## @section Volume Permissions parameters
diff --git a/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml b/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml
index 2360e5f9..dedf141e 100644
--- a/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml
+++ b/addons/mysql-cluster/8.0/plans/standard-16c64g400/values.yaml
@@ -40,37 +40,7 @@ primary:
 ## 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: 400Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
 
 router:
   replicaCount: 4
diff --git a/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml b/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml
index 5be1ec90..f4732ae5 100644
--- a/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml
+++ b/addons/mysql-cluster/8.0/plans/standard-2c8g50/values.yaml
@@ -40,37 +40,8 @@ primary:
 ## 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: 50Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
+
 router:
   replicaCount: 2
   configuration: |-
diff --git a/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml b/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml
index d76c4f3a..498098d3 100644
--- a/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml
+++ b/addons/mysql-cluster/8.0/plans/standard-32c128g800/values.yaml
@@ -40,37 +40,8 @@ primary:
 ## 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: 800Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
+
 router:
   replicaCount: 4
   configuration: |-
diff --git a/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml b/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml
index 944047a0..ae42b0eb 100644
--- a/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml
+++ b/addons/mysql-cluster/8.0/plans/standard-4c16g100/values.yaml
@@ -41,37 +41,7 @@ primary:
 ## 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: 100Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
 
 router:
   replicaCount: 3
diff --git a/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml b/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml
index fb9a0c0c..ff360665 100644
--- a/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml
+++ b/addons/mysql-cluster/8.0/plans/standard-8c32g200/values.yaml
@@ -40,37 +40,8 @@ primary:
 ## 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: 200Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
+
 
 router:
   replicaCount: 4
diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml
index 19bc1f9e..940fe04d 100644
--- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml
+++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/cluster/job.yaml
@@ -28,7 +28,7 @@ spec:
       initContainers:
         - name: init-wait
           image: registry.drycc.cc/drycc/python-dev:latest
-          imagePullPolicy: {{.Values.imagePullPolicy}}
+          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
           args:
           - netcat
           - -v
diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml
index 916f06d5..5581b8c7 100644
--- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml
+++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/networkpolicy.yaml
@@ -40,6 +40,13 @@ spec:
             matchLabels:
               kubernetes.io/metadata.name: {{ .Release.Namespace }}
       {{- end }}
+      {{- range $namespace := .Values.networkPolicy.allowDefaultNamespaces }}
+        {{- if $namespace }}
+        - namespaceSelector:
+            matchLabels:
+              kubernetes.io/metadata.name: {{ $namespace }}
+        {{- end }}
+      {{- end }}
       {{- range $namespace := .Values.networkPolicy.allowNamespaces }}
         {{- if $namespace }}
         - namespaceSelector:
diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml
index 2a444c87..b0b5b738 100644
--- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml
+++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/templates/primary/statefulset.yaml
@@ -132,6 +132,8 @@ spec:
           env:
             - name: DRYCC_DEBUG
               value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
+            - name: MALLOC_ARENA_MAX
+              value: "1"
             {{- if .Values.auth.usePasswordFiles }}
             - name: MYSQL_ROOT_PASSWORD_FILE
               value: {{ default "/opt/drycc/mysql/secrets/mysql-root-password" .Values.auth.customPasswordFiles.root }}
diff --git a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml
index a3233460..5596b2e7 100644
--- a/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml
+++ b/addons/mysql-cluster/8.4/chart/mysql-cluster-8.4/values.yaml
@@ -995,6 +995,10 @@ networkPolicy:
   ## (with the correct destination port).
   ##
   allowCurrentNamespace: true
+  allowDefaultNamespaces: 
+    - drycc
+    - backup
+
   allowNamespaces: []
 
 ## @section Volume Permissions parameters
diff --git a/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml b/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml
index 2360e5f9..dedf141e 100644
--- a/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml
+++ b/addons/mysql-cluster/8.4/plans/standard-16c64g400/values.yaml
@@ -40,37 +40,7 @@ primary:
 ## 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: 400Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
 
 router:
   replicaCount: 4
diff --git a/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml b/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml
index 5be1ec90..f4732ae5 100644
--- a/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml
+++ b/addons/mysql-cluster/8.4/plans/standard-2c8g50/values.yaml
@@ -40,37 +40,8 @@ primary:
 ## 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: 50Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
+
 router:
   replicaCount: 2
   configuration: |-
diff --git a/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml b/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml
index d76c4f3a..498098d3 100644
--- a/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml
+++ b/addons/mysql-cluster/8.4/plans/standard-32c128g800/values.yaml
@@ -40,37 +40,8 @@ primary:
 ## 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: 800Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
+
 router:
   replicaCount: 4
   configuration: |-
diff --git a/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml b/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml
index 944047a0..ae42b0eb 100644
--- a/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml
+++ b/addons/mysql-cluster/8.4/plans/standard-4c16g100/values.yaml
@@ -41,37 +41,7 @@ primary:
 ## 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: 100Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
 
 router:
   replicaCount: 3
diff --git a/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml b/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml
index fb9a0c0c..f196abd3 100644
--- a/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml
+++ b/addons/mysql-cluster/8.4/plans/standard-8c32g200/values.yaml
@@ -40,37 +40,7 @@ primary:
 ## 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: 200Gi
-    ## @param primary.persistence.selector Selector to match an existing Persistent Volume
-    ## selector:
-    ##   matchLabels:
-    ##     app: my-app
-    ##
-    selector: {}
 
 router:
   replicaCount: 4
diff --git a/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml b/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml
index 3f1efb1b..5ce6d140 100644
--- a/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml
+++ b/addons/postgresql-cluster/15/chart/postgresql-cluster/templates/statefulset.yaml
@@ -44,16 +44,14 @@ spec:
       nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }}
       {{- end }}
       serviceAccountName: {{ template "patroni.serviceAccountName" . }}
-      # securityContext:
-      #   runAsUser: postgres
-      #   fsGroup: postgres
+      {{- if .Values.patroni.containerSecurityContext.enabled }}
+      securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }}
+      {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
         imagePullPolicy: {{ .Values.image.pullPolicy }}
-        # securityContext: 
-        #   runAsUser: postgres
-        #   fsGroup: postgres
+        
         env:
         {{- include "patroni.envs" . | indent 8 }} 
         {{- if .Values.env }}
diff --git a/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml b/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml
index 8ed9f165..9fe66e36 100644
--- a/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml
+++ b/addons/postgresql-cluster/15/chart/postgresql-cluster/values.yaml
@@ -204,7 +204,13 @@ patroni:
     max_parallel_workers: 32
     max_connections: 2000
     max_slot_wal_keep_size: "2 GB"
-
+  containerSecurityContext:
+    enabled: true
+    runAsUser: 1000
+    runAsNonRoot: true
+    fsGroup: 1000
+    fsGroupChangePolicy: OnRootMismatch                                      
+    runAsGroup: 1000
   ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods
   ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
   ##
diff --git a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml
index 3f1efb1b..9328efe3 100644
--- a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml
+++ b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/templates/statefulset.yaml
@@ -44,16 +44,13 @@ spec:
       nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }}
       {{- end }}
       serviceAccountName: {{ template "patroni.serviceAccountName" . }}
-      # securityContext:
-      #   runAsUser: postgres
-      #   fsGroup: postgres
+      {{- if .Values.patroni.containerSecurityContext.enabled }}
+      securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }}
+      {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
         imagePullPolicy: {{ .Values.image.pullPolicy }}
-        # securityContext: 
-        #   runAsUser: postgres
-        #   fsGroup: postgres
         env:
         {{- include "patroni.envs" . | indent 8 }} 
         {{- if .Values.env }}
@@ -198,7 +195,7 @@ spec:
           mountPath: "{{ .Values.persistentVolume.mountPath }}" 
         - mountPath: "/opt/drycc/postgresql/backup/"
           name: backup-config
-
+ 
      {{- with .Values.nodeSelector }} 
       nodeSelector:
 {{ toYaml . | indent 8 }}
@@ -270,4 +267,4 @@ spec:
         storageClassName: "{{ .Values.persistentVolume.storageClass }}"
       {{- end }}
       {{- end }}
-  {{- end }}
+  {{- end }}
\ No newline at end of file
diff --git a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml
index 00947615..2ae52817 100644
--- a/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml
+++ b/addons/postgresql-cluster/16/chart/postgresql-cluster-16/values.yaml
@@ -204,6 +204,13 @@ patroni:
     max_parallel_workers: 32
     max_connections: 2000
     max_slot_wal_keep_size: "2 GB"
+  containerSecurityContext:
+    enabled: true
+    runAsUser: 1000
+    runAsNonRoot: true
+    fsGroup: 1000
+    fsGroupChangePolicy: OnRootMismatch                                      
+    runAsGroup: 1000
 
   ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods
   ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
diff --git a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml
index 3f1efb1b..8f21af6c 100644
--- a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml
+++ b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/templates/statefulset.yaml
@@ -44,16 +44,13 @@ spec:
       nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }}
       {{- end }}
       serviceAccountName: {{ template "patroni.serviceAccountName" . }}
-      # securityContext:
-      #   runAsUser: postgres
-      #   fsGroup: postgres
+      {{- if .Values.patroni.containerSecurityContext.enabled }}
+      securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }}
+      {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
         imagePullPolicy: {{ .Values.image.pullPolicy }}
-        # securityContext: 
-        #   runAsUser: postgres
-        #   fsGroup: postgres
         env:
         {{- include "patroni.envs" . | indent 8 }} 
         {{- if .Values.env }}
diff --git a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml
index fcb3407e..e3785ee5 100644
--- a/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml
+++ b/addons/postgresql-cluster/17/chart/postgresql-cluster-17/values.yaml
@@ -206,6 +206,13 @@ patroni:
     max_parallel_workers: 32
     max_connections: 2000
     max_slot_wal_keep_size: "2 GB"
+  containerSecurityContext:
+    enabled: true
+    runAsUser: 1000
+    runAsNonRoot: true
+    fsGroup: 1000     
+    fsGroupChangePolicy: OnRootMismatch                                 
+    runAsGroup: 1000
 
   ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods
   ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
diff --git a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml
index 3f1efb1b..9328efe3 100644
--- a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml
+++ b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/templates/statefulset.yaml
@@ -44,16 +44,13 @@ spec:
       nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.patroni.nodeSelector "context" $) | nindent 8 }}
       {{- end }}
       serviceAccountName: {{ template "patroni.serviceAccountName" . }}
-      # securityContext:
-      #   runAsUser: postgres
-      #   fsGroup: postgres
+      {{- if .Values.patroni.containerSecurityContext.enabled }}
+      securityContext: {{- omit .Values.patroni.containerSecurityContext "enabled" | toYaml | nindent 8 }}
+      {{- end }}
       containers:
       - name: {{ .Chart.Name }}
         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
         imagePullPolicy: {{ .Values.image.pullPolicy }}
-        # securityContext: 
-        #   runAsUser: postgres
-        #   fsGroup: postgres
         env:
         {{- include "patroni.envs" . | indent 8 }} 
         {{- if .Values.env }}
@@ -198,7 +195,7 @@ spec:
           mountPath: "{{ .Values.persistentVolume.mountPath }}" 
         - mountPath: "/opt/drycc/postgresql/backup/"
           name: backup-config
-
+ 
      {{- with .Values.nodeSelector }} 
       nodeSelector:
 {{ toYaml . | indent 8 }}
@@ -270,4 +267,4 @@ spec:
         storageClassName: "{{ .Values.persistentVolume.storageClass }}"
       {{- end }}
       {{- end }}
-  {{- end }}
+  {{- end }}
\ No newline at end of file
diff --git a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml
index 1ecfd7cc..59ac1868 100644
--- a/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml
+++ b/addons/postgresql-cluster/18/chart/postgresql-cluster-18/values.yaml
@@ -206,6 +206,13 @@ patroni:
     max_parallel_workers: 32
     max_connections: 2000
     max_slot_wal_keep_size: "2 GB"
+  containerSecurityContext:
+    enabled: true
+    runAsUser: 1000
+    runAsNonRoot: true
+    fsGroup: 1000    
+    fsGroupChangePolicy: OnRootMismatch                                  
+    runAsGroup: 1000
 
   ## @param patroni.podAnnotations Additional pod annotations for Postgresql patroni pods
   ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
