diff --git a/docker/0.3.0/Dockerfile b/docker/0.3.0/Dockerfile
new file mode 100644
index 000000000..5432d3dde
--- /dev/null
+++ b/docker/0.3.0/Dockerfile
@@ -0,0 +1,31 @@
+# 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.
+
+FROM maven:3-openjdk-8
+RUN mkdir -p /source/dubbo-admin-snapshot
+ADD . /source/dubbo-admin-snapshot
+WORKDIR /source/dubbo-admin-snapshot
+RUN mvn --batch-mode -Prelease clean package -Dmaven.test.skip=true
+
+FROM openjdk:8-jre
+LABEL maintainer="dev@dubbo.apache.org"
+RUN apt-get update && apt-get install -y tini
+COPY --from=0 /source/dubbo-admin-snapshot/dubbo-admin-distribution/target/dubbo-admin-0.3.0.jar /app.jar
+COPY --from=0 /source/dubbo-admin-snapshot/docker/entrypoint.sh /usr/local/bin/entrypoint.sh
+
+ENV JAVA_OPTS ""
+
+ENTRYPOINT ["tini", "--", "/usr/local/bin/entrypoint.sh"]
+EXPOSE 8080
diff --git a/docker/latest/entrypoint.sh b/docker/entrypoint.sh
similarity index 98%
rename from docker/latest/entrypoint.sh
rename to docker/entrypoint.sh
index 36cadde50..8c80090aa 100755
--- a/docker/latest/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -1,4 +1,3 @@
#!/bin/bash
set -e
-
exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar
diff --git a/docker/latest/Dockerfile b/docker/latest/Dockerfile
index 958b2174b..5ce8b3e71 100644
--- a/docker/latest/Dockerfile
+++ b/docker/latest/Dockerfile
@@ -17,13 +17,13 @@ FROM maven:3-openjdk-8
RUN mkdir -p /source/dubbo-admin-snapshot
ADD . /source/dubbo-admin-snapshot
WORKDIR /source/dubbo-admin-snapshot
-RUN mvn --batch-mode clean package -Dmaven.test.skip=true
+RUN mvn --batch-mode -Prelease clean package -Dmaven.test.skip=true
FROM openjdk:8-jre
LABEL maintainer="dev@dubbo.apache.org"
RUN apt-get update && apt-get install -y tini
COPY --from=0 /source/dubbo-admin-snapshot/dubbo-admin-distribution/target/dubbo-admin-0.3.0-SNAPSHOT.jar /app.jar
-COPY entrypoint.sh /usr/local/bin/entrypoint.sh
+COPY --from=0 /source/dubbo-admin-snapshot/docker/entrypoint.sh /usr/local/bin/entrypoint.sh
ENV JAVA_OPTS ""
diff --git a/docker/stack.yml b/docker/stack.yml
index 6e293270b..ebb35f237 100644
--- a/docker/stack.yml
+++ b/docker/stack.yml
@@ -21,11 +21,11 @@ services:
ports:
- 2181:2181
admin:
- image: apache/dubbo-admin
+ image: apache/dubbo-admin:0.3.0
depends_on:
- zookeeper
ports:
- - 8080
+ - 8080:8080
environment:
- admin.registry.address=zookeeper://zookeeper:2181
- admin.config-center=zookeeper://zookeeper:2181
diff --git a/dubbo-admin-distribution/src/bin/config/application.properties b/dubbo-admin-distribution/src/bin/config/application.properties
index 3f7b61279..df1746801 100644
--- a/dubbo-admin-distribution/src/bin/config/application.properties
+++ b/dubbo-admin-distribution/src/bin/config/application.properties
@@ -14,33 +14,43 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-server.port=8080
-# centers in dubbo2.7
-admin.registry.address=nacos://127.0.0.1:8848
-admin.config-center=nacos://127.0.0.1:8848
-admin.metadata-report.address=nacos://127.0.0.1:8848
-#admin.registry.address=nacos://127.0.0.1:8848
-#admin.config-center=nacos://127.0.0.1:8848
-#admin.metadata-report.address=nacos://127.0.0.1:8848
+# centers in dubbo2.7, if you want to add parameters, please add them to the url
+admin.registry.address=zookeeper://127.0.0.1:2181
+admin.config-center=zookeeper://127.0.0.1:2181
+admin.metadata-report.address=zookeeper://127.0.0.1:2181
+
+# nacos config, add parameters to url like username=nacos&password=nacos
+#admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=public
+#admin.config-center=nacos://127.0.0.1:8848?group=dubbo
+#admin.metadata-report.address=nacos://127.0.0.1:8848?group=dubbo
+
+#group (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
+#admin.registry.group=dubbo
+#admin.config-center.group=dubbo
+#admin.metadata-report.group=dubbo
+
+#namespace used by nacos. (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
+#admin.registry.namespace=public
+#admin.config-center.namespace=public
+#admin.metadata-report.namespace=public
admin.root.user.name=root
admin.root.user.password=root
-#group
-admin.registry.group=DEFAULT_GROUP
-admin.config-center.group=DEFAULT_GROUP
-admin.metadata-report.group=DEFAULT_GROUP
-
-#namespace used by nacos
-admin.registry.namespace=public
-admin.config-center.namespace=public
-admin.metadata-report.namespace=public
-
-admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9
-admin.apollo.appId=test
-admin.apollo.env=dev
-admin.apollo.cluster=default
-admin.apollo.namespace=dubbo
+
+#session timeout, default is one hour
+admin.check.sessionTimeoutMilli=3600000
+
+
+# apollo config
+# admin.config-center = apollo://localhost:8070?token=e16e5cd903fd0c97a116c873b448544b9d086de9&app.id=test&env=dev&cluster=default&namespace=dubbo
+
+# (Deprecated it is recommended to use URL to add parameters,will be removed in the future)
+#admin.apollo.token=e16e5cd903fd0c97a116c873b448544b9d086de9
+#admin.apollo.appId=test
+#admin.apollo.env=dev
+#admin.apollo.cluster=default
+#admin.apollo.namespace=dubbo
#compress
server.compression.enabled=true
diff --git a/dubbo-admin-server/pom.xml b/dubbo-admin-server/pom.xml
index e13d213f5..d03d5ab54 100644
--- a/dubbo-admin-server/pom.xml
+++ b/dubbo-admin-server/pom.xml
@@ -41,6 +41,11 @@
spring-boot-starter-web
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
+
org.springframework.boot
spring-boot-starter-data-jpa
@@ -179,6 +184,11 @@
test
+
+ org.apache.zookeeper
+ zookeeper
+
+
diff --git a/dubbo-admin-test/pom.xml b/dubbo-admin-test/pom.xml
index 5bb87465b..61935149b 100644
--- a/dubbo-admin-test/pom.xml
+++ b/dubbo-admin-test/pom.xml
@@ -79,7 +79,6 @@
com.google.guava
guava
- 29.0-jre
diff --git a/dubbo-admin-ui/dubbo-admin-info.json b/dubbo-admin-ui/dubbo-admin-info.json
new file mode 100644
index 000000000..989827d9c
--- /dev/null
+++ b/dubbo-admin-ui/dubbo-admin-info.json
@@ -0,0 +1,3 @@
+{
+ "version": "${revision}"
+}
diff --git a/dubbo-admin-ui/pom.xml b/dubbo-admin-ui/pom.xml
index 945895825..397a2a2bd 100644
--- a/dubbo-admin-ui/pom.xml
+++ b/dubbo-admin-ui/pom.xml
@@ -77,5 +77,23 @@
+
+
+ ${basedir}
+ ${basedir}/target/dist
+
+ dubbo-admin-info.json
+
+ true
+
+
+ ${basedir}
+ ${basedir}/public
+
+ dubbo-admin-info.json
+
+ true
+
+
diff --git a/dubbo-admin-ui/public/dubbo-admin-info.json b/dubbo-admin-ui/public/dubbo-admin-info.json
new file mode 100644
index 000000000..dfcc3af19
--- /dev/null
+++ b/dubbo-admin-ui/public/dubbo-admin-info.json
@@ -0,0 +1,3 @@
+{
+ "version": "0.3.0"
+}
diff --git a/dubbo-admin-ui/src/components/governance/AccessControl.vue b/dubbo-admin-ui/src/components/governance/AccessControl.vue
index da83a94f5..6bdaef166 100644
--- a/dubbo-admin-ui/src/components/governance/AccessControl.vue
+++ b/dubbo-admin-ui/src/components/governance/AccessControl.vue
@@ -26,7 +26,7 @@
-`
+
{{ $store.state.appTitle }}
+
+ {{ config.version }}
+
@@ -68,18 +71,23 @@