diff --git a/deploy/charts/dubbo-admin/Chart.yaml b/deploy/charts/dubbo-admin/Chart.yaml
index a412fd6..a7c29d4 100644
--- a/deploy/charts/dubbo-admin/Chart.yaml
+++ b/deploy/charts/dubbo-admin/Chart.yaml
@@ -1,13 +1,13 @@
 apiVersion: v2
-appVersion: 3.1.6
+appVersion: 0.5.0
 name: dubbo-admin
 description: Distributed application monitoring and management platform.
 home: https://cn.dubbo.apache.org
 kubeVersion: '>=1.20.0-0'
 maintainers:
-  - email: mfordjody@gmail.com
-    name: mfordjody
+  - email: dev@dubbo.apache.org
+    name: dubbo
 sources:
   - https://github.com/apache/dubbo
 type: application
-version: 0.5.0
\ No newline at end of file
+version: 3.1.6
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/NOTES.txt b/deploy/charts/dubbo-admin/templates/NOTES.txt
index 1bb1f8e..2320a48 100644
--- a/deploy/charts/dubbo-admin/templates/NOTES.txt
+++ b/deploy/charts/dubbo-admin/templates/NOTES.txt
@@ -1,6 +1,12 @@
+====================================================
 CHART NAME: {{ .Chart.Name }}
-CHART VERSION: {{ .Chart.Version }}
-APP VERSION: {{ .Chart.AppVersion }}
+VERSION: {{ .Chart.Name }}:{{ .Chart.AppVersion }}
+====================================================
+{{- if .Values.zookeeper.enabled }}
+Registration Center：{{ .Values.zookeeper.zoo_name }}
+VERSION: {{ .Values.zookeeper.zoo_name }}:{{ .Values.image.zoo_tag }}
+{{- end }}
+====================================================
 
 1.  Get your '{{ .Chart.Name }}' by running:
 
diff --git a/deploy/charts/dubbo-admin/templates/_helpers.tpl b/deploy/charts/dubbo-admin/templates/_helpers.tpl
deleted file mode 100644
index 98cdd5a..0000000
--- a/deploy/charts/dubbo-admin/templates/_helpers.tpl
+++ /dev/null
@@ -1,163 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "dubbo-admin.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "dubbo-admin.fullname" -}}
-{{- if .Values.fullnameOverride }}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- $name := default .Chart.Name .Values.nameOverride }}
-{{- if contains $name .Release.Name }}
-{{- .Release.Name | trunc 63 | trimSuffix "-" }}
-{{- else }}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "dubbo-admin.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
-{{- end }}
-
-
-{{/*
-Allow the release namespace to be overridden for multi-namespace deployments in combined charts
-*/}}
-{{- define "dubbo-admin.namespace" -}}
-{{- if .Values.namespaceOverride }}
-{{- .Values.namespaceOverride }}
-{{- else }}
-{{- .Release.Namespace }}
-{{- end }}
-{{- end }}
-{{/*
-Common labels
-*/}}
-
-
-{{- define "dubbo-admin.labels" -}}
-helm.sh/chart: {{ include "dubbo-admin.chart" . }}
-{{ include "dubbo-admin.selectorLabels" . }}
-{{- if .Chart.AppVersion }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-{{- end }}
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for rbac.
-*/}}
-{{- define "dubbo-admin.rbac.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" }}
-{{- print "rbac.authorization.k8s.io/v1" }}
-{{- else }}
-{{- print "rbac.authorization.k8s.io/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{- define "dubbo-admin.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "dubbo-admin.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end }}
-
-
-{{/*
-Create the name of the service account to use
-*/}}
-{{- define "dubbo-admin.serviceAccountName" -}}
-{{- if .Values.serviceAccount.create }}
-{{- default (include "dubbo-admin.fullname" .) .Values.serviceAccount.name }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.name }}
-{{- end }}
-{{- end }}
-
-
-{{- define "dubbo-admin.serviceAccountNameTest" -}}
-{{- if .Values.serviceAccount.create }}
-{{- default (print (include "dubbo-admin.fullname" .) "-test") .Values.serviceAccount.nameTest }}
-{{- else }}
-{{- default "default" .Values.serviceAccount.nameTest }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Formats imagePullSecrets. Input is (dict "root" . "imagePullSecrets" .{specific imagePullSecrets})
-*/}}
-{{- define "dubbo-admin.imagePullSecrets" -}}
-{{- $root := .root }}
-{{- range (concat .root.Values.global.imagePullSecrets .imagePullSecrets) }}
-{{- if eq (typeOf .) "map[string]interface {}" }}
-- {{ toYaml (dict "name" (tpl .name $root)) | trim }}
-{{- else }}
-- name: {{ tpl . $root }}
-{{- end }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return if ingress is stable.
-*/}}
-{{- define "dubbo-admin.ingress.isStable" -}}
-{{- eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1" }}
-{{- end }}
-
-
-{{/*
-Return if ingress supports ingressClassName.
-*/}}
-{{- define "dubbo-admin.ingress.supportsIngressClassName" -}}
-{{- or (eq (include "dubbo-admin.ingress.isStable" .) "true") (and (eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
-{{- end }}
-
-
-{{/*
-Return if ingress supports pathType.
-*/}}
-{{- define "dubbo-admin.ingress.supportsPathType" -}}
-{{- or (eq (include "dubbo-admin.ingress.isStable" .) "true") (and (eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for ingress.
-*/}}
-{{- define "dubbo-admin.ingress.apiVersion" -}}
-{{- if and ($.Capabilities.APIVersions.Has "networking.k8s.io/v1") (semverCompare ">= 1.19-0" .Capabilities.KubeVersion.Version) }}
-{{- print "networking.k8s.io/v1" }}
-{{- else if $.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
-{{- print "networking.k8s.io/v1beta1" }}
-{{- else }}
-{{- print "extensions/v1beta1" }}
-{{- end }}
-{{- end }}
-
-
-{{/*
-Return the appropriate apiVersion for podDisruptionBudget.
-*/}}
-{{- define "dubbo-admin.podDisruptionBudget.apiVersion" -}}
-{{- if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }}
-{{- print "policy/v1" }}
-{{- else }}
-{{- print "policy/v1beta1" }}
-{{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/clusterrole.yaml b/deploy/charts/dubbo-admin/templates/admin-clusterrole.yaml
similarity index 89%
rename from deploy/charts/dubbo-admin/templates/clusterrole.yaml
rename to deploy/charts/dubbo-admin/templates/admin-clusterrole.yaml
index 5cc6aa3..89fdd64 100644
--- a/deploy/charts/dubbo-admin/templates/clusterrole.yaml
+++ b/deploy/charts/dubbo-admin/templates/admin-clusterrole.yaml
@@ -1,4 +1,4 @@
-{{- if and .Values.rbac.create (not .Values.rbac.namespaced) (not .Values.rbac.useExistingRole) }}
+{{- if and .Values.rbac.enabled (not .Values.rbac.namespaced) (not .Values.rbac.useExistingRole) }}
 apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
 kind: ClusterRole
 metadata:
diff --git a/deploy/charts/dubbo-admin/templates/clusterrolebinding.yaml b/deploy/charts/dubbo-admin/templates/admin-clusterrolebinding.yaml
similarity index 91%
rename from deploy/charts/dubbo-admin/templates/clusterrolebinding.yaml
rename to deploy/charts/dubbo-admin/templates/admin-clusterrolebinding.yaml
index 09f9966..2f73ac3 100644
--- a/deploy/charts/dubbo-admin/templates/clusterrolebinding.yaml
+++ b/deploy/charts/dubbo-admin/templates/admin-clusterrolebinding.yaml
@@ -1,4 +1,4 @@
-{{- if and .Values.rbac.create (not .Values.rbac.namespaced) }}
+{{- if and .Values.rbac.enabled (not .Values.rbac.namespaced) }}
 apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
 kind: ClusterRoleBinding
 metadata:
diff --git a/deploy/charts/dubbo-admin/templates/deployment.yaml b/deploy/charts/dubbo-admin/templates/admin-deployment.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/deployment.yaml
rename to deploy/charts/dubbo-admin/templates/admin-deployment.yaml
diff --git a/deploy/charts/dubbo-admin/templates/hpa.yaml b/deploy/charts/dubbo-admin/templates/admin-hpa.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/hpa.yaml
rename to deploy/charts/dubbo-admin/templates/admin-hpa.yaml
diff --git a/deploy/charts/dubbo-admin/templates/ingress.yaml b/deploy/charts/dubbo-admin/templates/admin-ingress.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/ingress.yaml
rename to deploy/charts/dubbo-admin/templates/admin-ingress.yaml
diff --git a/deploy/charts/dubbo-admin/templates/networkpolicy.yaml b/deploy/charts/dubbo-admin/templates/admin-networkpolicy.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/networkpolicy.yaml
rename to deploy/charts/dubbo-admin/templates/admin-networkpolicy.yaml
diff --git a/deploy/charts/dubbo-admin/templates/poddisruptionbudget.yaml b/deploy/charts/dubbo-admin/templates/admin-pdb.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/poddisruptionbudget.yaml
rename to deploy/charts/dubbo-admin/templates/admin-pdb.yaml
diff --git a/deploy/charts/dubbo-admin/templates/podsecuritypolicy.yaml b/deploy/charts/dubbo-admin/templates/admin-psp.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/podsecuritypolicy.yaml
rename to deploy/charts/dubbo-admin/templates/admin-psp.yaml
diff --git a/deploy/charts/dubbo-admin/templates/pvc.yaml b/deploy/charts/dubbo-admin/templates/admin-pvc.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/pvc.yaml
rename to deploy/charts/dubbo-admin/templates/admin-pvc.yaml
diff --git a/deploy/charts/dubbo-admin/templates/role.yaml b/deploy/charts/dubbo-admin/templates/admin-role.yaml
similarity index 92%
rename from deploy/charts/dubbo-admin/templates/role.yaml
rename to deploy/charts/dubbo-admin/templates/admin-role.yaml
index d1c1b48..de391e7 100644
--- a/deploy/charts/dubbo-admin/templates/role.yaml
+++ b/deploy/charts/dubbo-admin/templates/admin-role.yaml
@@ -1,4 +1,4 @@
-{{- if and .Values.rbac.create (not .Values.rbac.useExistingRole) -}}
+{{- if and .Values.rbac.enabled (not .Values.rbac.useExistingRole) -}}
 apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
 kind: Role
 metadata:
diff --git a/deploy/charts/dubbo-admin/templates/rolebinding.yaml b/deploy/charts/dubbo-admin/templates/admin-rolebinding.yaml
similarity index 95%
rename from deploy/charts/dubbo-admin/templates/rolebinding.yaml
rename to deploy/charts/dubbo-admin/templates/admin-rolebinding.yaml
index 6154260..49034af 100644
--- a/deploy/charts/dubbo-admin/templates/rolebinding.yaml
+++ b/deploy/charts/dubbo-admin/templates/admin-rolebinding.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.rbac.create }}
+{{- if .Values.rbac.enabled }}
 apiVersion: {{ include "dubbo-admin.rbac.apiVersion" . }}
 kind: RoleBinding
 metadata:
diff --git a/deploy/charts/dubbo-admin/templates/secret-env.yaml b/deploy/charts/dubbo-admin/templates/admin-secret-env.yaml
similarity index 77%
rename from deploy/charts/dubbo-admin/templates/secret-env.yaml
rename to deploy/charts/dubbo-admin/templates/admin-secret-env.yaml
index 7b1e1bb..73525e0 100644
--- a/deploy/charts/dubbo-admin/templates/secret-env.yaml
+++ b/deploy/charts/dubbo-admin/templates/admin-secret-env.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.envRenderSecret }}
+{{- if .Values.envSecret }}
 apiVersion: v1
 kind: Secret
 metadata:
@@ -8,7 +8,7 @@
     {{- include "dubbo-admin.labels" . | nindent 4 }}
 type: Opaque
 data:
-{{- range $key, $val := .Values.envRenderSecret }}
+{{- range $key, $val := .Values.envSecret }}
   {{ $key }}: {{ $val | b64enc | quote }}
 {{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/secret.yaml b/deploy/charts/dubbo-admin/templates/admin-secret.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/secret.yaml
rename to deploy/charts/dubbo-admin/templates/admin-secret.yaml
diff --git a/deploy/charts/dubbo-admin/templates/serviceaccount.yaml b/deploy/charts/dubbo-admin/templates/admin-serviceaccount.yaml
similarity index 91%
rename from deploy/charts/dubbo-admin/templates/serviceaccount.yaml
rename to deploy/charts/dubbo-admin/templates/admin-serviceaccount.yaml
index b493f32..3ccaf61 100644
--- a/deploy/charts/dubbo-admin/templates/serviceaccount.yaml
+++ b/deploy/charts/dubbo-admin/templates/admin-serviceaccount.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.serviceAccount.create }}
+{{- if .Values.serviceAccount.enabled }}
 {{- $admin := . -}}
 apiVersion: v1
 kind: ServiceAccount
diff --git a/deploy/charts/dubbo-admin/templates/svc-headless.yaml b/deploy/charts/dubbo-admin/templates/admin-svc-headless.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/svc-headless.yaml
rename to deploy/charts/dubbo-admin/templates/admin-svc-headless.yaml
diff --git a/deploy/charts/dubbo-admin/templates/svc.yaml b/deploy/charts/dubbo-admin/templates/admin-svc.yaml
similarity index 100%
rename from deploy/charts/dubbo-admin/templates/svc.yaml
rename to deploy/charts/dubbo-admin/templates/admin-svc.yaml
diff --git a/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-configmap.yaml b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-configmap.yaml
new file mode 100644
index 0000000..df46791
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-configmap.yaml
@@ -0,0 +1,27 @@
+{{- if .Values.zookeeper.enabled }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ printf "%s-scripts" (include "zookeeper.fullname" .) }}
+  namespace: {{ template "zookeeper.namespace" . }}
+data:
+  setup.sh: |-
+    #!/bin/bash
+
+    # Execute entrypoint as usual after obtaining ZOO_SERVER_ID
+    # check ZOO_SERVER_ID in persistent volume via myid
+    # if not present, set based on POD hostname
+    if [[ -f "/bitnami/zookeeper/data/myid" ]]; then
+        export ZOO_SERVER_ID="$(cat /bitnami/zookeeper/data/myid)"
+    else
+        HOSTNAME="$(hostname -s)"
+        if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then
+            ORD=${BASH_REMATCH[2]}
+            export ZOO_SERVER_ID="$((ORD + {{ .Values.minServerId }} ))"
+        else
+            echo "Failed to get index from hostname $HOST"
+            exit 1
+        fi
+    fi
+    exec /entrypoint.sh /run.sh
+  {{- end }}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-networkpolicy.yaml b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-networkpolicy.yaml
new file mode 100644
index 0000000..8b302e3
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-networkpolicy.yaml
@@ -0,0 +1,41 @@
+{{- if .Values.networkPolicy.enabled }}
+kind: NetworkPolicy
+apiVersion: {{ include "zookeeper.networkPolicy.apiVersion" . }}
+metadata:
+  name: {{ include "zookeeper.fullname" . }}
+  namespace: {{ template "zookeeper.namespace" . }}
+  labels: {{- include "zookeeper.labels" . | nindent 4 }}
+    {{- if .Values.commonLabels }}
+    {{- include "zookeeper.tplvalues" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- end }}
+  {{- if .Values.commonAnnotations }}
+  annotations: {{- include "zookeeper.tplvalues" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+  {{- end }}
+spec:
+  podSelector:
+    matchLabels: {{- include "zookeeper.matchLabels" . | nindent 6 }}
+  policyTypes:
+    - Ingress
+  ingress:
+    # Allow inbound connections to ZooKeeper
+    - ports:
+        - port: {{ .Values.containerPorts.client }}
+        {{- if .Values.metrics.enabled }}
+        - port: {{ .Values.metrics.containerPort }}
+        {{- end }}
+      {{- if not .Values.networkPolicy.allowExternal }}
+      from:
+        - podSelector:
+            matchLabels:
+              {{ include "zookeeper.fullname" . }}-client: "true"
+        - podSelector:
+            matchLabels: {{- include "zookeeper.matchLabels" . | nindent 14 }}
+      {{- end }}
+    # Allow internal communications between nodes
+    - ports:
+        - port: {{ .Values.containerPorts.follower }}
+        - port: {{ .Values.containerPorts.election }}
+      from:
+        - podSelector:
+            matchLabels: {{- include "zookeeper.matchLabels" . | nindent 14 }}
+{{- end }}
diff --git a/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-pdb.yaml b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-pdb.yaml
new file mode 100644
index 0000000..efd42c1
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-pdb.yaml
@@ -0,0 +1,26 @@
+{{- $replica := int .Values.replicas }}
+{{- if and .Values.podDisruptionBudget.enabled (gt $replica 1) }}
+apiVersion: {{ include "zookeeper.policy.apiVersion" . }}
+kind: PodDisruptionBudget
+metadata:
+  name: {{ template "zookeeper.fullname" . }}
+  namespace: {{ template "zookeeper.namespace" . }}
+  labels: {{- include "zookeeper.labels" . | nindent 4 }}
+    app.kubernetes.io/component: zookeeper
+    {{- if .Values.commonLabels }}
+    {{- include "zookeeper.tplvalues" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
+    {{- end }}
+  {{- if .Values.commonAnnotations }}
+  annotations: {{- include "zookeeper.tplvalues" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
+  {{- end }}
+spec:
+  {{- if .Values.podDisruptionBudget.minAvailable }}
+  minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
+  {{- end  }}
+  {{- if .Values.podDisruptionBudget.maxUnavailable }}
+  maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
+  {{- end  }}
+  selector:
+    matchLabels: {{- include "zookeeper.matchLabels" . | nindent 6 }}
+      app.kubernetes.io/component: zookeeper
+{{- end }}
diff --git a/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-statefulset.yaml b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-statefulset.yaml
new file mode 100644
index 0000000..038c728
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-statefulset.yaml
@@ -0,0 +1,168 @@
+{{- if .Values.zookeeper.enabled }}
+apiVersion: {{ include "zookeeper.statefulset.apiVersion" . }}
+kind: StatefulSet
+metadata:
+  name: {{ template "zookeeper.fullname" . }}
+  namespace: {{ template "zookeeper.namespace" . }}
+spec:
+  replicas: {{ .Values.replicas }}
+  selector:
+    matchLabels: {{- include "zookeeper.matchLabels" . | nindent 6 }}
+  serviceName: {{ printf "%s-%s" (include "zookeeper.fullname" .) (default "headless" .Values.service.headless.servicenameOverride) | trunc 63 | trimSuffix "-" }}
+  template:
+    metadata:
+      labels:
+        app.kubernetes.io/name: zookeeper
+    spec:
+      containers:
+        - name: zookeeper
+          image: {{ .Values.image.zoo_repository }}:{{ .Values.image.zoo_tag }}
+          imagePullPolicy: {{ .Values.image.pullPolicy | quote }}
+          {{- if .Values.containerSecurityContext.enabled }}
+          securityContext: {{- omit .Values.containerSecurityContext "enabled" | toYaml | nindent 12 }}
+          {{- end }}
+          {{- if .Values.resources }}
+          resources: {{- toYaml .Values.extraresources | nindent 12 }}
+          {{- end }}
+          env:
+            - name: BITNAMI_DEBUG
+              value: {{ ternary "true" "false" (or .Values.image.debug .Values.diagnosticMode.enabled) | quote }}
+            - name: ZOO_DATA_LOG_DIR
+              value: {{ .Values.dataLogDir | quote }}
+            - name: ZOO_PORT_NUMBER
+              value: {{ .Values.containerPorts.client | quote }}
+            - name: ZOO_TICK_TIME
+              value: {{ .Values.tickTime | quote }}
+            - name: ZOO_INIT_LIMIT
+              value: {{ .Values.initLimit | quote }}
+            - name: ZOO_SYNC_LIMIT
+              value: {{ .Values.syncLimit | quote }}
+            - name: ZOO_PRE_ALLOC_SIZE
+              value: {{ .Values.preAllocSize | quote }}
+            - name: ZOO_SNAPCOUNT
+              value: {{ .Values.snapCount | quote }}
+            - name: ZOO_MAX_CLIENT_CNXNS
+              value: {{ .Values.maxClientCnxns | quote }}
+            - name: ZOO_4LW_COMMANDS_WHITELIST
+              value: {{ .Values.fourlwCommandsWhitelist | quote }}
+            - name: ZOO_LISTEN_ALLIPS_ENABLED
+              value: {{ ternary "yes" "no" .Values.listenOnAllIPs | quote }}
+            - name: ZOO_AUTOPURGE_INTERVAL
+              value: {{ .Values.autopurge.purgeInterval | quote }}
+            - name: ZOO_AUTOPURGE_RETAIN_COUNT
+              value: {{ .Values.autopurge.snapRetainCount | quote }}
+            - name: ZOO_MAX_SESSION_TIMEOUT
+              value: {{ .Values.maxSessionTimeout | quote }}
+            - name: ZOO_ENABLE_AUTH
+              value: {{ ternary "yes" "no" .Values.auth.client.enabled | quote }}
+            - name: ZOO_SERVERS
+              {{- $replicaCount := int .Values.replicas }}
+              {{- $minServerId := int .Values.minServerId }}
+              {{- $followerPort := int .Values.containerPorts.follower }}
+              {{- $electionPort := int .Values.containerPorts.election }}
+              {{- $releaseNamespace := include "zookeeper.namespace" . }}
+              {{- $zookeeperFullname := include "zookeeper.fullname" . }}
+              {{- $zookeeperHeadlessServiceName := printf "%s-%s" $zookeeperFullname "headless" | trunc 63  }}
+              {{- $clusterDomain := .Values.clusterDomain }}
+              value: {{ range $i, $e := until $replicaCount }}{{ $zookeeperFullname }}-{{ $e }}.{{ $zookeeperHeadlessServiceName }}.{{ $releaseNamespace }}.svc.{{ $clusterDomain }}:{{ $followerPort }}:{{ $electionPort }}::{{ add $e $minServerId }} {{ end }}
+            - name: ZOO_HEAP_SIZE
+              value: {{ .Values.heapSize | quote }}
+            - name: ZOO_LOG_LEVEL
+              value: {{ .Values.logLevel | quote }}
+            - name: ALLOW_ANONYMOUS_LOGIN
+              value: {{ ternary "no" "yes" .Values.auth.client.enabled | quote }}
+          ports:
+            {{- if not .Values.service.disableBaseClientPort }}
+            - name: client
+              containerPort: {{ .Values.containerPorts.client }}
+            {{- end }}
+            - name: follower
+              containerPort: {{ .Values.containerPorts.follower }}
+            - name: election
+              containerPort: {{ .Values.containerPorts.election }}
+          volumeMounts:
+            - name: scripts
+              mountPath: /scripts/setup.sh
+              subPath: setup.sh
+            - name: data
+              mountPath: /bitnami/zookeeper
+            {{- if .Values.dataLogDir }}
+            - name: data-log
+              mountPath: {{ .Values.dataLogDir }}
+            {{- end }}
+            {{- if or .Values.configuration .Values.existingConfigmap }}
+            - name: config
+              mountPath: /opt/bitnami/zookeeper/conf/zoo.cfg
+              subPath: zoo.cfg
+            {{- end }}
+      volumes:
+        - name: scripts
+          configMap:
+            name: {{ printf "%s-scripts" (include "zookeeper.fullname" .) }}
+            defaultMode: 0755
+        {{- if or .Values.configuration .Values.existingConfigmap }}
+        - name: config
+          configMap:
+            name: {{ include "zookeeper.configmapName" . }}
+        {{- end }}
+        {{- if and .Values.persistence.enabled .Values.persistence.existingClaim }}
+        - name: data
+          persistentVolumeClaim:
+            claimName: {{ printf "%s" (tpl .Values.persistence.existingClaim .) }}
+        {{- else if not .Values.persistence.enabled }}
+        - name: data
+          emptyDir: {}
+        {{- end }}
+        {{- if and .Values.persistence.enabled .Values.persistence.dataLogDir.existingClaim }}
+        - name: data-log
+          persistentVolumeClaim:
+            claimName: {{ printf "%s" (tpl .Values.persistence.dataLogDir.existingClaim .) }}
+        {{- else if and ( not .Values.persistence.enabled ) .Values.dataLogDir }}
+        - name: data-log
+          emptyDir: {}
+        {{- end }}
+        {{- if .Values.extraVolumes }}
+        {{- include "zookeeper.tplvalues" (dict "value" .Values.extraVolumes "context" $) | nindent 8 }}
+        {{- end }}
+  {{- if and .Values.persistence.enabled (not (and .Values.persistence.existingClaim .Values.persistence.dataLogDir.existingClaim) ) }}
+  volumeClaimTemplates:
+    {{- if not .Values.persistence.existingClaim }}
+    - metadata:
+        name: data
+        {{- if .Values.persistence.annotations }}
+        annotations: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.annotations "context" $) | nindent 10 }}
+        {{- end }}
+        {{- if .Values.persistence.labels }}
+        labels: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.labels "context" $) | nindent 10 }}
+        {{- end }}
+      spec:
+        accessModes:
+        {{- range .Values.persistence.accessModes }}
+          - {{ . | quote }}
+        {{- end }}
+        resources:
+          requests:
+            storage: {{ .Values.persistence.size | quote }}
+        {{- include "zookeeper.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) | nindent 8 }}
+        {{- if .Values.persistence.selector }}
+        selector: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.selector "context" $) | nindent 10 }}
+        {{- end }}
+    {{- end }}
+    {{- if and (not .Values.persistence.dataLogDir.existingClaim) .Values.dataLogDir }}
+    - metadata:
+        name: data-log
+      spec:
+        accessModes:
+        {{- range .Values.persistence.accessModes }}
+          - {{ . | quote }}
+        {{- end }}
+        resources:
+          requests:
+            storage: {{ .Values.persistence.dataLogDir.size | quote }}
+        {{- include "zookeeper.storage.class" (dict "persistence" .Values.persistence "global" .Values.global) | nindent 8 }}
+        {{- if .Values.persistence.dataLogDir.selector }}
+        selector: {{- include "zookeeper.tplvalues" (dict "value" .Values.persistence.dataLogDir.selector "context" $) | nindent 10 }}
+        {{- end }}
+    {{- end }}
+  {{- end }}
+  {{- end }}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-svc-headless.yaml b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-svc-headless.yaml
new file mode 100644
index 0000000..b68d0e4
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-svc-headless.yaml
@@ -0,0 +1,24 @@
+{{- if .Values.zookeeper.enabled }}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ template "zookeeper.fullname" . }}-headless
+  namespace: {{ template "zookeeper.namespace" . }}
+  labels: {{- include "zookeeper.labels" . | nindent 4 }}
+spec:
+  type: {{ .Values.service.type }}
+  clusterIP: None
+  ports:
+    {{- if not .Values.service.disableBaseClientPort }}
+    - name: tcp-client
+      port: {{ .Values.service.ports.client }}
+      targetPort: client
+    {{- end }}
+    - name: tcp-follower
+      port: {{ .Values.service.ports.follower }}
+      targetPort: follower
+    - name: tcp-election
+      port: {{ .Values.service.ports.election }}
+      targetPort: election
+  selector: {{- include "zookeeper.matchLabels" . | nindent 4 }}
+  {{- end }}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-svc.yaml b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-svc.yaml
new file mode 100644
index 0000000..80ee6cd
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/admin-zookeeper/admin-zk-svc.yaml
@@ -0,0 +1,48 @@
+{{- if .Values.zookeeper.enabled }}
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ template "zookeeper.fullname" . }}
+  namespace: {{ template "zookeeper.namespace" . }}
+  labels: {{- include "zookeeper.labels" . | nindent 4 }}
+spec:
+  type: {{ .Values.service.type }}
+  {{- if and .Values.service.clusterIP (eq .Values.service.type "ClusterIP") }}
+  clusterIP: {{ .Values.service.clusterIP }}
+  {{- end }}
+  {{- if or (eq .Values.service.type "LoadBalancer") (eq .Values.service.type "NodePort") }}
+  externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy | quote }}
+  {{- end }}
+  {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerSourceRanges)) }}
+  loadBalancerSourceRanges: {{ .Values.service.loadBalancerSourceRanges }}
+  {{- end }}
+  {{- if and (eq .Values.service.type "LoadBalancer") (not (empty .Values.service.loadBalancerIP)) }}
+  loadBalancerIP: {{ .Values.service.loadBalancerIP }}
+  {{- end }}
+  {{- if .Values.service.sessionAffinity }}
+  sessionAffinity: {{ .Values.service.sessionAffinity }}
+  {{- end }}
+  {{- if .Values.service.sessionAffinityConfig }}
+  sessionAffinityConfig: {{- include "zookeeper.tplvalues" (dict "value" .Values.service.sessionAffinityConfig "context" $) | nindent 4 }}
+  {{- end }}
+  ports:
+    {{- if not .Values.service.disableBaseClientPort }}
+    - name: tcp-client
+      port: {{ .Values.service.ports.client }}
+      targetPort: client
+      {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.client)) }}
+      nodePort: {{ .Values.service.nodePorts.client }}
+      {{- else if eq .Values.service.type "ClusterIP" }}
+      {{- end }}
+    {{- end }}
+    - name: tcp-follower
+      port: {{ .Values.service.ports.follower }}
+      targetPort: follower
+    - name: tcp-election
+      port: {{ .Values.service.ports.election }}
+      targetPort: election
+    {{- if .Values.service.extraPorts }}
+    {{- include "zookeeper.tplvalues" (dict "value" .Values.service.extraPorts "context" $) | nindent 4 }}
+    {{- end }}
+  selector: {{- include "zookeeper.matchLabels" . | nindent 4 }}
+  {{- end }}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tests/test-role.yaml b/deploy/charts/dubbo-admin/templates/tests/test-role.yaml
index c7f8995..5a59823 100644
--- a/deploy/charts/dubbo-admin/templates/tests/test-role.yaml
+++ b/deploy/charts/dubbo-admin/templates/tests/test-role.yaml
@@ -1,4 +1,4 @@
-{{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.testFramework.enabled .Values.rbac.pspEnabled }}
+{{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.tests.enabled .Values.rbac.pspEnabled }}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: Role
 metadata:
diff --git a/deploy/charts/dubbo-admin/templates/tests/test-rolebinding.yaml b/deploy/charts/dubbo-admin/templates/tests/test-rolebinding.yaml
index 6f01922..7bb20eb 100644
--- a/deploy/charts/dubbo-admin/templates/tests/test-rolebinding.yaml
+++ b/deploy/charts/dubbo-admin/templates/tests/test-rolebinding.yaml
@@ -1,4 +1,4 @@
-{{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.testFramework.enabled .Values.rbac.pspEnabled }}
+{{- if and (.Capabilities.APIVersions.Has "policy/v1beta1/PodSecurityPolicy") .Values.tests.enabled .Values.rbac.pspEnabled }}
 apiVersion: rbac.authorization.k8s.io/v1
 kind: RoleBinding
 metadata:
diff --git a/deploy/charts/dubbo-admin/templates/tests/test-serviceaccount.yaml b/deploy/charts/dubbo-admin/templates/tests/test-serviceaccount.yaml
index 681d30b..0590e0b 100644
--- a/deploy/charts/dubbo-admin/templates/tests/test-serviceaccount.yaml
+++ b/deploy/charts/dubbo-admin/templates/tests/test-serviceaccount.yaml
@@ -1,4 +1,4 @@
-{{- if and .Values.testFramework.enabled .Values.serviceAccount.create }}
+{{- if and .Values.tests.enabled .Values.serviceAccount.enabled }}
 apiVersion: v1
 kind: ServiceAccount
 metadata:
diff --git a/deploy/charts/dubbo-admin/templates/tests/test.yaml b/deploy/charts/dubbo-admin/templates/tests/test.yaml
index 95ca164..1cf6b64 100644
--- a/deploy/charts/dubbo-admin/templates/tests/test.yaml
+++ b/deploy/charts/dubbo-admin/templates/tests/test.yaml
@@ -1,4 +1,4 @@
-{{- if .Values.testFramework.enabled }}
+{{- if .Values.tests.enabled }}
 {{- $root := . }}
 apiVersion: v1
 kind: Pod
@@ -12,7 +12,7 @@
   namespace: {{ include "dubbo-admin.namespace" . }}
 spec:
   serviceAccountName: {{ include "dubbo-admin.serviceAccountName" . }}
-  {{- with .Values.testFramework.securityContext }}
+  {{- with .Values.tests.securityContext }}
   securityContext:
     {{- toYaml . | nindent 4 }}
   {{- end }}
@@ -34,8 +34,8 @@
   {{- end }}
   containers:
     - name: {{ .Release.Name }}-test
-      image: "{{ .Values.testFramework.image}}"
-      imagePullPolicy: "{{ .Values.testFramework.imagePullPolicy}}"
+      image: "{{ .Values.tests.image}}"
+      imagePullPolicy: "{{ .Values.tests.imagePullPolicy}}"
       command: ["wget"]
       volumeMounts:
         - mountPath: /tests
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_charts.tpl b/deploy/charts/dubbo-admin/templates/tpl/_charts.tpl
new file mode 100644
index 0000000..376e671
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_charts.tpl
@@ -0,0 +1,14 @@
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "dubbo-admin.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
+{{- end }}
+
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "zookeeper.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_helpers.tpl b/deploy/charts/dubbo-admin/templates/tpl/_helpers.tpl
new file mode 100644
index 0000000..183f1ca
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_helpers.tpl
@@ -0,0 +1,112 @@
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "dubbo-admin.fullname" -}}
+{{- if .Values.fullnameOverride }}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- $name := default .Chart.Name .Values.nameOverride }}
+{{- if contains $name .Release.Name }}
+{{- .Release.Name | trunc 63 | trimSuffix "-" }}
+{{- else }}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "zookeeper.fullname" -}}
+{{- if .Values.zookeeper.zoo_name -}}
+{{- .Values.zookeeper.zoo_name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Values.zookeeper.zoo_name -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+
+{{/*
+Labels to use on deploy.spec.selector.matchLabels and svc.spec.selector
+*/}}
+{{- define "zookeeper.matchLabels" -}}
+app.kubernetes.io/name: {{ include "zookeeper.name" . }}
+{{- end -}}
+
+
+{{- define "dubbo-admin.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "dubbo-admin.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end }}
+
+
+{{/*
+Create the name of the service account to use
+*/}}
+{{- define "dubbo-admin.serviceAccountName" -}}
+{{- if .Values.serviceAccount.enabled }}
+{{- default (include "dubbo-admin.fullname" .) .Values.serviceAccount.name }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.name }}
+{{- end }}
+{{- end }}
+
+
+{{- define "dubbo-admin.serviceAccountNameTest" -}}
+{{- if .Values.serviceAccount.enabled }}
+{{- default (print (include "dubbo-admin.fullname" .) "-test") .Values.serviceAccount.nameTest }}
+{{- else }}
+{{- default "default" .Values.serviceAccount.nameTest }}
+{{- end }}
+{{- end }}
+
+
+{{/*
+Return the ZooKeeper configuration ConfigMap name
+*/}}
+{{- define "zookeeper.configmapName" -}}
+{{- if .Values.existingConfigmap -}}
+    {{- printf "%s" (tpl .Values.existingConfigmap $) -}}
+{{- else -}}
+    {{- printf "%s" (include "zookeeper.fullname" .) -}}
+{{- end -}}
+{{- end -}}
+
+
+{{/*
+Formats imagePullSecrets. Input is (dict "root" . "imagePullSecrets" .{specific imagePullSecrets})
+*/}}
+{{- define "dubbo-admin.imagePullSecrets" -}}
+{{- $root := .root }}
+{{- range (concat .root.Values.global.imagePullSecrets .imagePullSecrets) }}
+{{- if eq (typeOf .) "map[string]interface {}" }}
+- {{ toYaml (dict "name" (tpl .name $root)) | trim }}
+{{- else }}
+- name: {{ tpl . $root }}
+{{- end }}
+{{- end }}
+{{- end }}
+
+
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Renders a value that contains template.
+Usage:
+{{ include "zookeeper.tplvalues" ( dict "value" .Values.path.to.the.Value "context" $) }}
+*/}}
+{{- define "zookeeper.tplvalues" -}}
+    {{- if typeIs "string" .value }}
+        {{- tpl .value .context }}
+    {{- else }}
+        {{- tpl (.value | toYaml) .context }}
+    {{- end }}
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_images.tpl b/deploy/charts/dubbo-admin/templates/tpl/_images.tpl
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_images.tpl
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_ingress.tpl b/deploy/charts/dubbo-admin/templates/tpl/_ingress.tpl
new file mode 100644
index 0000000..0e63964
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_ingress.tpl
@@ -0,0 +1,22 @@
+{{/*
+Return if ingress is stable.
+*/}}
+{{- define "dubbo-admin.ingress.isStable" -}}
+{{- eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1" }}
+{{- end }}
+
+
+{{/*
+Return if ingress supports ingressClassName.
+*/}}
+{{- define "dubbo-admin.ingress.supportsIngressClassName" -}}
+{{- or (eq (include "dubbo-admin.ingress.isStable" .) "true") (and (eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
+{{- end }}
+
+
+{{/*
+Return if ingress supports pathType.
+*/}}
+{{- define "dubbo-admin.ingress.supportsPathType" -}}
+{{- or (eq (include "dubbo-admin.ingress.isStable" .) "true") (and (eq (include "dubbo-admin.ingress.apiVersion" .) "networking.k8s.io/v1beta1") (semverCompare ">= 1.18-0" .Capabilities.KubeVersion.Version)) }}
+{{- end }}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_labels.tpl b/deploy/charts/dubbo-admin/templates/tpl/_labels.tpl
new file mode 100644
index 0000000..d716807
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_labels.tpl
@@ -0,0 +1,16 @@
+{{- define "dubbo-admin.labels" -}}
+helm.sh/chart: {{ include "dubbo-admin.chart" . }}
+{{ include "dubbo-admin.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end }}
+
+
+{{- define "zookeeper.labels" -}}
+app.kubernetes.io/name: {{ include "zookeeper.name" . }}
+helm.sh/chart: {{ include "zookeeper.chart" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_names.tpl b/deploy/charts/dubbo-admin/templates/tpl/_names.tpl
new file mode 100644
index 0000000..2893e3e
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_names.tpl
@@ -0,0 +1,16 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "dubbo-admin.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "zookeeper.name" -}}
+{{- default .Values.zookeeper.zoo_name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_namespaces.tpl b/deploy/charts/dubbo-admin/templates/tpl/_namespaces.tpl
new file mode 100644
index 0000000..7a18a9c
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_namespaces.tpl
@@ -0,0 +1,22 @@
+{{/*
+Allow the release namespace to be overridden for multi-namespace deployments in combined charts
+*/}}
+{{- define "dubbo-admin.namespace" -}}
+{{- if .Values.namespaceOverride }}
+{{- .Values.namespaceOverride }}
+{{- else }}
+{{- .Release.Namespace }}
+{{- end }}
+{{- end }}
+
+
+{{/*
+Return ZooKeeper Namespace to use
+*/}}
+{{- define "zookeeper.namespace" -}}
+{{- if .Values.namespaceOverride -}}
+    {{- .Values.namespaceOverride -}}
+{{- else -}}
+    {{- .Release.Namespace -}}
+{{- end -}}
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_storages.tpl b/deploy/charts/dubbo-admin/templates/tpl/_storages.tpl
new file mode 100644
index 0000000..198a3d6
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_storages.tpl
@@ -0,0 +1,23 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Return  the proper Storage Class
+{{ include "common.storage.class" ( dict "persistence" .Values.path.to.the.persistence "global" $) }}
+*/}}
+{{- define "zookeeper.storage.class" -}}
+
+{{- $storageClass := .vpersistence.storageClass -}}
+{{- if .global -}}
+    {{- if .global.storageClass -}}
+        {{- $storageClass = .global.storageClass -}}
+    {{- end -}}
+{{- end -}}
+
+{{- if $storageClass -}}
+  {{- if (eq "-" $storageClass) -}}
+      {{- printf "storageClassName: \"\"" -}}
+  {{- else }}
+      {{- printf "storageClassName: %s" $storageClass -}}
+  {{- end -}}
+{{- end -}}
+
+{{- end -}}
\ No newline at end of file
diff --git a/deploy/charts/dubbo-admin/templates/tpl/_versions.tpl b/deploy/charts/dubbo-admin/templates/tpl/_versions.tpl
new file mode 100644
index 0000000..bf19c10
--- /dev/null
+++ b/deploy/charts/dubbo-admin/templates/tpl/_versions.tpl
@@ -0,0 +1,94 @@
+{{/*
+Return the appropriate apiVersion for rbac.
+*/}}
+{{- define "dubbo-admin.rbac.apiVersion" -}}
+{{- if $.Capabilities.APIVersions.Has "rbac.authorization.k8s.io/v1" }}
+{{- print "rbac.authorization.k8s.io/v1" }}
+{{- else }}
+{{- print "rbac.authorization.k8s.io/v1beta1" }}
+{{- end }}
+{{- end }}
+
+
+{{/*
+Return the appropriate apiVersion for ingress.
+*/}}
+{{- define "dubbo-admin.ingress.apiVersion" -}}
+{{- if and ($.Capabilities.APIVersions.Has "networking.k8s.io/v1") (semverCompare ">= 1.19-0" .Capabilities.KubeVersion.Version) }}
+{{- print "networking.k8s.io/v1" }}
+{{- else if $.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
+{{- print "networking.k8s.io/v1beta1" }}
+{{- else }}
+{{- print "extensions/v1beta1" }}
+{{- end }}
+{{- end }}
+
+
+{{/*
+Return the appropriate apiVersion for podDisruptionBudget.
+*/}}
+{{- define "dubbo-admin.podDisruptionBudget.apiVersion" -}}
+{{- if $.Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }}
+{{- print "policy/v1" }}
+{{- else }}
+{{- print "policy/v1beta1" }}
+{{- end }}
+{{- end }}
+
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "zookeeper.chart" -}}
+{{- end -}}
+{{/*
+Return the target Kubernetes version
+*/}}
+{{- define "zookeeper.kubeVersion" -}}
+{{- if .Values.global }}
+    {{- if .Values.global.kubeVersion }}
+    {{- .Values.global.kubeVersion -}}
+    {{- else }}
+    {{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
+    {{- end -}}
+{{- else }}
+{{- default .Capabilities.KubeVersion.Version .Values.kubeVersion -}}
+{{- end -}}
+{{- end -}}
+
+
+{{/*
+Return the appropriate apiVersion for statefulset.
+*/}}
+{{- define "zookeeper.statefulset.apiVersion" -}}
+{{- if semverCompare "<1.14-0" (include "zookeeper.kubeVersion" .) -}}
+{{- print "apps/v1beta1" -}}
+{{- else -}}
+{{- print "apps/v1" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for networkpolicy.
+*/}}
+{{- define "zookeeper.networkPolicy.apiVersion" -}}
+{{- if semverCompare "<1.7-0" (include "zookeeper.kubeVersion" .) -}}
+{{- print "extensions/v1beta1" -}}
+{{- else -}}
+{{- print "networking.k8s.io/v1" -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for poddisruptionbudget.
+*/}}
+{{- define "zookeeper.policy.apiVersion" -}}
+{{- if semverCompare "<1.21-0" (include "zookeeper.kubeVersion" .) -}}
+{{- print "policy/v1beta1" -}}
+{{- else -}}
+{{- print "policy/v1" -}}
+{{- end -}}
+{{- end -}}
+
+
+
diff --git a/deploy/charts/dubbo-admin/values.yaml b/deploy/charts/dubbo-admin/values.yaml
index b7b2d38..1c5e5d2 100644
--- a/deploy/charts/dubbo-admin/values.yaml
+++ b/deploy/charts/dubbo-admin/values.yaml
@@ -1,3 +1,31 @@
+## fullnameOverride String to fully override common.names.fullname template
+##
+##
+fullnameOverride: ""
+##
+##
+## nameOverride String to partially override common.names.fullname template (will maintain the release name)
+##
+nameOverride: ""
+##
+##
+## namespaceOverride String to partially override common.names.namespace template
+##
+namespaceOverride: ""
+##
+##
+## labels String to override common.names.labels template
+##
+labels: ""
+##
+##
+## annotations String to override common.names.annotations template
+##
+annotations: ""
+##
+##
+##
+##
 ## global.imageRegistry Global Docker image registry
 ## global.imagePullSecrets Global Docker registry secret names as an array
 ## global.storageClass Global StorageClass for Persistent Volume(s)
@@ -9,44 +37,10 @@
   ##   - myRegistryKeySecretName
   ##
   imagePullSecrets: []
-  ##
-  ##
-## fullnameOverride String to fully override common.names.fullname template
-##
-fullnameOverride: {}
-##
-##
-## nameOverride String to partially override common.names.fullname template (will maintain the release name)
-##
-nameOverride: {}
-##
-##
-## namespaceOverride String to partially override common.names.namespace template
-##
-namespaceOverride: {}
-##
-##
-## labels String to override common.names.labels template
-##
-labels: {}
-##
-##
-## annotations String to override common.names.annotations template
-##
-annotations: {}
-##
-##
-##
-##
-## See `kubectl explain poddisruptionbudget.spec` for more
-## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
-podDisruptionBudget:
-  minAvailable: 1
-  # maxUnavailable: 1
 
 
 rbac:
-  create: true
+  enabled: true
   # Use an existing ClusterRole/Role (depending on rbac.namespaced false/true)
   pspEnabled: true
   pspUseAppArmor: true
@@ -61,18 +55,23 @@
   #   resources: []
   #   verbs: []
 
-  ## serviceAccount Name
+## serviceAccount
 serviceAccount:
-  create: true
-  name:
+  enabled: true
+  ## ## ServiceAccount name.
+  name: {}
+  ## ServiceAccount nameTests.
+  nameTest: {}
   ## ServiceAccount labels.
   labels: {}
+  ## ServiceAccount annotations.
   annotations: {}
 
 
-## Number of service copies
+## replicas
 replicas: 1
 
+
 # -- Optional array of imagePullSecrets containing private registry credentials
 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
 imagePullSecrets: []
@@ -103,7 +102,7 @@
   type: RollingUpdate
 
 
-## @param readinessProbe.enabled Enable readinessProbe on ZooKeeper containers
+## @param readinessProbe.enabled Enable readinessProbe on containers
 ## @param readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
 ## @param readinessProbe.periodSeconds Period seconds for readinessProbe
 ## @param readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
@@ -120,9 +119,10 @@
   periodSeconds: 10
   successThreshold: 1
   failureThreshold: 3
+  probeCommandTimeout: 1
 
 
-## @param livenessProbe.enabled Enable livenessProbe on ZooKeeper containers
+## @param livenessProbe.enabled Enable livenessProbe on containers
 ## @param livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
 ## @param livenessProbe.periodSeconds Period seconds for livenessProbe
 ## @param livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
@@ -139,8 +139,10 @@
   periodSeconds: 10
   successThreshold: 1
   failureThreshold: 3
+  probeCommandTimeout: 1
 
-## @param startupProbe.enabled Enable startupProbe on ZooKeeper containers
+
+## @param startupProbe.enabled Enable startupProbe on containers
 ## @param startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
 ## @param startupProbe.periodSeconds Period seconds for startupProbe
 ## @param startupProbe.timeoutSeconds Timeout seconds for startupProbe
@@ -158,10 +160,28 @@
   failureThreshold: 3
 
 
-## Dubbo-admin image version
+## This module is the image acquisition method
 image:
+  registry: docker.io
+  ##  e.g registry.k8s.io
+  ##  e.g k8s.gcr.io
+  ##
   repository: apache/dubbo-admin
+  ##
+  ##
   tag: "0.5.0"
+  ## version
+  ##
+  zoo_repository: bitnami/zookeeper
+  ##
+  ##
+  zoo_tag: 3.8.1-debian-11-r0
+  ## zookeeper version
+  ##
+  digest: ""
+  ##
+  ##
+  debug: false
   ##
   ## Specify a imagePullPolicy
   ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -185,7 +205,7 @@
   # fsGroup: 570
 
 
-testFramework:
+tests:
   enabled: true
   image: busybox
   tag: ""
@@ -194,12 +214,13 @@
 
 
 ## Init container Security Context
-containerSecurityContext: {}
+containerSecurityContext:
+  enabled: false
 
 
 ## Sensible environment variables that will be rendered as new secret object
 ## This can be useful for auth tokens, etc
-envRenderSecret: {}
+envSecret: {}
 
 
 # -- `minReadySeconds` to avoid killing pods before we are ready
@@ -211,7 +232,7 @@
 
 
 ## Create or not configmap
-createConfigmap: true
+ConfigmapEnabled: true
 
 
 ## configmap mounts
@@ -244,12 +265,12 @@
 #   mountPath: /
 
 
-## Apply extra labels to common labels.
+## Apply extra labels.
 extraLabels: {}
 
 
 ## Assign a PriorityClassName to pods if set
-# priorityClassName:
+# priorityClassName: {}
 
 
 ## Pod Annotations
@@ -267,61 +288,117 @@
 service:
   name: http
   ##
-  ##
+  ## Service name.
   ##
   enabled: true
   ##
-  ##
+  ## Service enable true or false.
   ##
   type: ClusterIP
   ##
+  ## Service type.
   ##
+  clusterIP: ""
   ##
-  clusterIP: []
+  ## Service clusterIP.
   ##
+  loadBalancerIP: ""
   ##
+  ## Service loadBalancerIP.
   ##
-  loadBalancerIP: []
+  loadBalancerSourceRanges: ""
   ##
+  ## Service loadBalancerSourceRanges.
   ##
+  externalIPs: ""
   ##
-  loadBalancerSourceRanges: []
+  ## Service externalIPs.
   ##
+  nodePort: ""
   ##
-  ##
-  externalIPs: []
-  ##
-  ##
-  ##
-  nodePort: []
-  ##
-  ##
+  ## Service nodePort.
   ##
   path: /
   ##
-  ##
+  ## Service path.
   ##
   port: 38080
   ##
-  ##
+  ## Service port.
   ##
   targetPort: http
   ##
-  ##
+  ## Service targetPort.
   ##
   containerPort: 8080
   ##
-  ##
+  ## Service containerPort.
   ##
   protocol: TCP
   ##
+  ## Service protocol.
   ##
   ##
+  annotations: {}
+  ##
   ## Service annotations. Can be templated.
-  annotations: {}
+  ##
   labels: {}
+  ##
+  ## Service labels.
+  ##
   portName: service
+  ##
+  ## Service portName.
+  ##
   appProtocol: ""
+  ##
+  ## Service appProtocol.
+  ##
+  ## Zookeeper Service.
+  ## @param service.type Kubernetes Service type
+  ##
+  ports:
+    client: 2181
+    follower: 2888
+    election: 3888
+  ## Node ports to expose
+  ## NOTE: choose port between <30000-32767>
+  ## @param service.nodePorts.client Node port for clients
+  ## @param service.nodePorts.tls Node port for TLS
+  ##
+  nodePorts:
+    client: ""
+  ## @param service.disableBaseClientPort Remove client port from service definitions.
+  ##
+  disableBaseClientPort: false
+  ## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
+  ## Values: ClientIP or None
+  ## ref: https://kubernetes.io/docs/user-guide/services/
+  ##
+  sessionAffinity: None
+  ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
+  ## sessionAffinityConfig:
+  ##   clientIP:
+  ##     timeoutSeconds: 300
+  ##
+  sessionAffinityConfig: {}
+  ##
+  ##
+  ##
+  externalTrafficPolicy: Cluster
+  ## @param service.annotations Additional custom annotations for ZooKeeper service
+  ##
+  ##
+  extraPorts: []
+  ## @param service.headless.annotations Annotations for the Headless Service
+  ## @param service.headless.publishNotReadyAddresses If the ZooKeeper headless service should publish DNS records for not ready pods
+  ## @param service.headless.servicenameOverride String to partially override headless service name
+  ##
+  headless:
+    publishNotReadyAddresses: true
+    annotations: {}
+    servicenameOverride: ""
 
 
 ingress:
@@ -335,12 +412,12 @@
   # kubernetes.io/tls-acme: "true"
   labels: {}
   path: /
-
-
+  ##
+  ##
   # pathType is only for k8s >= 1.1=
   pathType: Prefix
-
-
+  ##
+  ##
   hosts:
     - chart-example.local
   ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
@@ -357,8 +434,8 @@
   #       name: ssl-redirect
   #       port:
   #         name: use-annotation
-
-
+  ##
+  ##
   tls: []
   #  - secretName: chart-example-tls
   #    hosts:
@@ -410,11 +487,13 @@
 persistence:
   enabled: false
   type: pvc
-  storageClassName: {}
+  storageClassName: ""
   accessModes:
     - ReadWriteOnce
   size: 10Gi
+  labels: {}
   annotations: {}
+  existingClaim: ""
   finalizers:
     - kubernetes.io/pvc-protection
   selectorLabels: {}
@@ -439,9 +518,29 @@
     ## dubbo-admin emptyDir volume size limit
     ##
     sizeLimit: ""
+  selector: {}
+    ## Persistence for a dedicated data log directory
+    ##
+  dataLogDir:
+    ## @param persistence.dataLogDir.size PVC Storage Request for ZooKeeper's dedicated data log directory
+    ##
+    size: 8Gi
+    ## @param persistence.dataLogDir.existingClaim Provide an existing `PersistentVolumeClaim` for ZooKeeper's data log directory
+    ## If defined, PVC must be created manually before volume will be bound
+    ## The value is evaluated as a template
+    ##
+    existingClaim: ""
+    ## @param persistence.dataLogDir.selector Selector to match an existing Persistent Volume for ZooKeeper's data log PVC
+    ## If set, the PVC can't have a PV dynamically provisioned for it
+    ## E.g.
+    ## selector:
+    ##   matchLabels:
+    ##     app: my-app
+    ##
+    selector: {}
 
 
-initChownData:
+initChown:
   ## If false, data ownership will not be reset at startup
   ## This allows the dubbo-admin-server to be run with an arbitrary user
   ##
@@ -462,7 +561,7 @@
   ##
   ##
   ##
-  ## initChownData resource requests and limits
+  ## initChown resource requests and limits
   ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
   ##
   resources: {}
@@ -481,7 +580,18 @@
 lifecycleHooks: {}
   # postStart:
   #   exec:
-#     command: []
+  #     command: []
+  # preStop:
+  #   exec:
+  #     command: []
+
+
+## See `kubectl explain poddisruptionbudget.spec` for more
+## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
+podDisruptionBudget:
+  enabled: false
+  minAvailable: 1
+  # maxUnavailable: 1
 
 
 networkPolicy:
@@ -532,25 +642,225 @@
       ## - port: 80
       ## - port: 443
 
-## dubbo-admin-server/src/main/resources/application.properties
-#
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#
+
+## Zookeeper Necessary configuration
+zookeeper:
+  enabled: true
+  ##
+  ##
+  zoo_name: zookeeper
+  ## Create a headless service for the deployment
+  headlessService: false
+  ##
+  ##
+  ## Create HorizontalPodAutoscaler object for deployment type
+  autoscaling:
+    enabled: false
+    minReplicas: 1
+    maxReplicas: 5
+    targetCPU: "60"
+    targetMemory: ""
+    behavior: {}
+  ##
+  ##
+  ## Number of old ReplicaSets to retain
+  ##
+  revisionHistoryLimit: 10
+  ##
+  ##
+  ## See `kubectl explain deployment.spec.strategy` for more
+  ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
+  deploymentStrategy:
+    type: RollingUpdate
+  ##
+  ##
+## zookeeper container Ports
+containerPorts:
+  client: 2181
+  tls: 3181
+  follower: 2888
+  election: 3888
+##
+##
+extraVolumes: []
+## @param extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ZooKeeper container(s)
+## Example Use Case: mount certificates to enable TLS
+## e.g:
+## extraVolumeMounts:
+## - name: zookeeper-keystore
+##   mountPath: /certs/keystore
+##   readOnly: true
+## - name: zookeeper-truststore
+##   mountPath: /certs/truststore
+##   readOnly: true
+##
+extraVolumeMounts: []
+## @param sidecars Add additional sidecar containers to the ZooKeeper pod(s)
+## e.g:
+## sidecars:
+##   - name: your-image-name
+##     image: your-image
+##     imagePullPolicy: Always
+##     ports:
+##       - name: portname
+##         containerPort: 1234
+##
+## @param tickTime Basic time unit (in milliseconds) used by ZooKeeper for heartbeats
+##
+##
+auth:
+  client:
+    ## @param auth.client.enabled Enable ZooKeeper client-server authentication. It uses SASL/Digest-MD5
+    ##
+    enabled: false
+    ## @param auth.client.clientUser User that will use ZooKeeper clients to auth
+    ##
+    clientUser: ""
+    ## @param auth.client.clientPassword Password that will use ZooKeeper clients to auth
+    ##
+    clientPassword: ""
+    ## @param auth.client.serverUsers Comma, semicolon or whitespace separated list of user to be created
+    ## Specify them as a string, for example: "user1,user2,admin"
+    ##
+    serverUsers: ""
+    ## @param auth.client.serverPasswords Comma, semicolon or whitespace separated list of passwords to assign to users when created
+    ## Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
+    ##
+    serverPasswords: ""
+    ## @param auth.client.existingSecret Use existing secret (ignores previous passwords)
+    ##
+    existingSecret: ""
+  quorum:
+    ## @param auth.quorum.enabled Enable ZooKeeper server-server authentication. It uses SASL/Digest-MD5
+    ##
+    enabled: false
+    ## @param auth.quorum.learnerUser User that the ZooKeeper quorumLearner will use to authenticate to quorumServers.
+    ## Note: Make sure the user is included in auth.quorum.serverUsers
+    ##
+    learnerUser: ""
+    ## @param auth.quorum.learnerPassword Password that the ZooKeeper quorumLearner will use to authenticate to quorumServers.
+    ##
+    learnerPassword: ""
+    ## @param auth.quorum.serverUsers Comma, semicolon or whitespace separated list of users for the quorumServers.
+    ## Specify them as a string, for example: "user1,user2,admin"
+    ##
+    serverUsers: ""
+    ## @param auth.quorum.serverPasswords Comma, semicolon or whitespace separated list of passwords to assign to users when created
+    ## Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
+    ##
+    serverPasswords: ""
+    ## @param auth.quorum.existingSecret Use existing secret (ignores previous passwords)
+    ##
+    existingSecret: ""
+## @param tickTime Basic time unit (in milliseconds) used by ZooKeeper for heartbeats
+##
+tickTime: 2000
+## @param initLimit ZooKeeper uses to limit the length of time the ZooKeeper servers in quorum have to connect to a leader
+##
+initLimit: 10
+## @param syncLimit How far out of date a server can be from a leader
+##
+syncLimit: 5
+## @param preAllocSize Block size for transaction log file
+##
+preAllocSize: 65536
+## @param snapCount The number of transactions recorded in the transaction log before a snapshot can be taken (and the transaction log rolled)
+##
+snapCount: 100000
+## @param maxClientCnxns Limits the number of concurrent connections that a single client may make to a single member of the ZooKeeper ensemble
+##
+maxClientCnxns: 60
+## @param maxSessionTimeout Maximum session timeout (in milliseconds) that the server will allow the client to negotiate
+## Defaults to 20 times the tickTime
+##
+maxSessionTimeout: 40000
+## @param heapSize Size (in MB) for the Java Heap options (Xmx and Xms)
+## This env var is ignored if Xmx an Xms are configured via `jvmFlags`
+##
+heapSize: 1024
+## @param fourlwCommandsWhitelist A list of comma separated Four Letter Words commands that can be executed
+##
+fourlwCommandsWhitelist: srvr, mntr, ruok
+## @param minServerId Minimal SERVER_ID value, nodes increment their IDs respectively
+## Servers increment their ID starting at this minimal value.
+## E.g., with `minServerId=10` and 3 replicas, server IDs will be 10, 11, 12 for z-0, z-1 and z-2 respectively.
+##
+minServerId: 1
+## @param listenOnAllIPs Allow ZooKeeper to listen for connections from its peers on all available IP addresses
+##
+listenOnAllIPs: false
+## Ongoing data directory cleanup configuration
+##
+autopurge:
+  ## @param autopurge.snapRetainCount The most recent snapshots amount (and corresponding transaction logs) to retain
+  ##
+  snapRetainCount: 3
+  ## @param autopurge.purgeInterval The time interval (in hours) for which the purge task has to be triggered
+  ## Set to a positive integer to enable the auto purging
+  ##
+  purgeInterval: 0
+## @param logLevel Log level for the ZooKeeper server. ERROR by default
+## Have in mind if you set it to INFO or WARN the ReadinessProve will produce a lot of logs
+##
+logLevel: ERROR
+## @param jvmFlags Default JVM flags for the ZooKeeper process
+##
+jvmFlags: ""
+## @param dataLogDir Dedicated data log directory
+## This allows a dedicated log device to be used, and helps avoid competition between logging and snapshots.
+## E.g.
+## dataLogDir: /bitnami/zookeeper/dataLog
+##
+dataLogDir: ""
+##
+##
+configuration: ""
+## @param existingConfigmap The name of an existing ConfigMap with your custom configuration for ZooKeeper
+## NOTE: When it's set the `configuration` parameter is ignored
+##
+existingConfigmap: ""
+## @param extraEnvVars Array with extra environment variables to add to ZooKeeper nodes
+## e.g:
+## extraEnvVars:
+##   - name: FOO
+##     value: "bar"
+##
+##
+## @param clusterDomain Kubernetes Cluster Domain
+##
+clusterDomain: cluster.local
+## @param extraDeploy Extra objects to deploy (evaluated as a template)
+##
+extraDeploy: []
+## @param commonLabels Add labels to all the deployed resources
+##
+commonLabels: {}
+## @param commonAnnotations Add annotations to all the deployed resources
+##
+commonAnnotations: {}
+## @param namespaceOverride Override namespace for ZooKeeper resources
+## Useful when including ZooKeeper as a chart dependency, so it can be released into a different namespace than the parent
+##
+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 statefulset
+  ##
+  command:
+    - sleep
+  ## @param diagnosticMode.args Args to override all containers in the statefulset
+  ##
+  args:
+    - infinity
+
+## Nacos Necessary configuration
+nacos:
+  enabled: false
+
+
+
+##  @param Dubbo-admin Default Enable Configuration
 properties:
   admin.registry.address: zookeeper://zookeeper:2181
   admin.config-center: zookeeper://zookeeper:2181
