add dubbo-admin-zookeeper (#971)
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