diff --git a/bootstrap/pom.xml b/bootstrap/pom.xml
index e8df58bdc7e..691812b08d9 100644
--- a/bootstrap/pom.xml
+++ b/bootstrap/pom.xml
@@ -39,4 +39,41 @@
nacos-server
+
+
+
+ release-nacos
+
+ nacos-server
+
+
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ com.alibaba.nacos.bootstrap.NacosBootstrap
+ ZIP
+
+
+
+
+ repackage
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bootstrap/src/main/java/com/alibaba/nacos/bootstrap/NacosBootstrap.java b/bootstrap/src/main/java/com/alibaba/nacos/bootstrap/NacosBootstrap.java
index 731c484f594..994690e6e28 100644
--- a/bootstrap/src/main/java/com/alibaba/nacos/bootstrap/NacosBootstrap.java
+++ b/bootstrap/src/main/java/com/alibaba/nacos/bootstrap/NacosBootstrap.java
@@ -29,7 +29,7 @@
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.io.ClassPathResource;
-import org.springframework.jmx.support.MBeanRegistrationSupport;
+import org.springframework.jmx.export.MBeanExporter;
import org.springframework.jmx.support.RegistrationPolicy;
/**
@@ -40,11 +40,11 @@
@SpringBootApplication
public class NacosBootstrap {
+ private static final String SPRING_JXM_ENABLED = "spring.jmx.enabled";
+
public static void main(String[] args) {
ConfigurableApplicationContext coreContext = startCoreContext(args);
- coreContext.getBean(MBeanRegistrationSupport.class).setRegistrationPolicy(RegistrationPolicy.IGNORE_EXISTING);
- String type = coreContext.getEnvironment()
- .getProperty(Constants.NACOS_DEPLOYMENT_TYPE, Constants.NACOS_DEPLOYMENT_TYPE_MERGED);
+ String type = prepareCoreContext(coreContext);
if (Constants.NACOS_DEPLOYMENT_TYPE_MERGED.equals(type)) {
startWithConsole(args, coreContext);
} else if (Constants.NACOS_DEPLOYMENT_TYPE_SERVER.equals(type)) {
@@ -54,6 +54,15 @@ public static void main(String[] args) {
}
}
+ private static String prepareCoreContext(ConfigurableApplicationContext coreContext) {
+ if (coreContext.getEnvironment().getProperty(SPRING_JXM_ENABLED, Boolean.class, false)) {
+ // Avoid duplicate registration MBean to exporter.
+ coreContext.getBean(MBeanExporter.class).setRegistrationPolicy(RegistrationPolicy.IGNORE_EXISTING);
+ }
+ return coreContext.getEnvironment()
+ .getProperty(Constants.NACOS_DEPLOYMENT_TYPE, Constants.NACOS_DEPLOYMENT_TYPE_MERGED);
+ }
+
private static void startWithoutConsole(String[] args, ConfigurableApplicationContext coreContext) {
ConfigurableApplicationContext webContext = startServerWebContext(args, coreContext);
}
diff --git a/bootstrap/src/main/resources/application.properties b/bootstrap/src/main/resources/application.properties
index 995d12d441e..e45a7a015d9 100644
--- a/bootstrap/src/main/resources/application.properties
+++ b/bootstrap/src/main/resources/application.properties
@@ -1,5 +1,5 @@
#
-# Copyright 1999-2018 Alibaba Group Holding Ltd.
+# Copyright 1999-2025 Alibaba Group Holding Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,24 +14,11 @@
# limitations under the License.
#
-#*************** Spring Boot Related Configurations ***************#
-#### Default web context path:
-#server.servlet.contextPath=/nacos
-### Include message field
-server.error.include-message=ALWAYS
-#### Default web server port:
-#server.port=8848
+#--------------- Nacos Common Configurations ---------------#
#*************** Nacos port Related Configurations ***************#
### Nacos Server Main port
nacos.server.main.port=8848
-### Nacos Server Web context path:
-nacos.server.contextPath=/nacos
-### Nacos Console Main port
-nacos.console.port=8080
-### Nacos Server Web context path:
-nacos.console.contextPath=
-
#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
@@ -40,10 +27,8 @@ nacos.console.contextPath=
### Specify local server's IP:
# nacos.inetutils.ip-address=
-#*************** Config Module Related Configurations ***************#
-### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
-# spring.datasource.platform=mysql
-# nacos.plugin.datasource.log.enabled=true
+#*************** Datasource Related Configurations ***************#
+### nacos.plugin.datasource.log.enabled=true
#spring.sql.init.platform=mysql
### Count of DB:
# db.num=1
@@ -53,6 +38,104 @@ nacos.console.contextPath=
# db.user=nacos
# db.password=nacos
+#*************** Metrics Related Configurations ***************#
+### Metrics for prometheus
+#management.endpoints.web.exposure.include=prometheus
+
+### Metrics for elastic search
+management.metrics.export.elastic.enabled=false
+#management.metrics.export.elastic.host=http://localhost:9200
+
+### Metrics for influx
+management.metrics.export.influx.enabled=false
+#management.metrics.export.influx.db=springboot
+#management.metrics.export.influx.uri=http://localhost:8086
+#management.metrics.export.influx.auto-create-db=true
+#management.metrics.export.influx.consistency=one
+#management.metrics.export.influx.compressed=true
+
+#*************** Core Related Configurations ***************#
+
+### set the WorkerID manually
+# nacos.core.snowflake.worker-id=
+
+### Member-MetaData
+# nacos.core.member.meta.site=
+# nacos.core.member.meta.adweight=
+# nacos.core.member.meta.weight=
+
+### MemberLookup
+### Addressing pattern category, If set, the priority is highest
+# nacos.core.member.lookup.type=[file,address-server]
+
+## Set the cluster list with a configuration file or command-line argument
+# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
+
+## for AddressServerMemberLookup
+# Maximum number of retries to query the address server upon initialization
+# nacos.core.address-server.retry=5
+## Server domain name address of [address-server] mode
+# address.server.domain=jmenv.tbsite.net
+## Server port of [address-server] mode
+# address.server.port=8080
+## Request address of [address-server] mode
+# address.server.url=/nacos/serverlist
+
+#*************** JRaft Related Configurations ***************#
+
+### Sets the Raft cluster election timeout, default value is 5 second
+# nacos.core.protocol.raft.data.election_timeout_ms=5000
+### Sets the amount of time the Raft snapshot will execute periodically, default is 30 minute
+# nacos.core.protocol.raft.data.snapshot_interval_secs=30
+### raft internal worker threads
+# nacos.core.protocol.raft.data.core_thread_num=8
+### Number of threads required for raft business request processing
+# nacos.core.protocol.raft.data.cli_service_thread_num=4
+### raft linear read strategy. Safe linear reads are used by default, that is, the Leader tenure is confirmed by heartbeat
+# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
+### rpc request timeout, default 5 seconds
+# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000
+### enable to support prometheus service discovery
+#nacos.prometheus.metrics.enabled=true
+
+#*************** Distro Related Configurations ***************#
+
+### Distro data sync delay time, when sync task delayed, task will be merged for same data key. Default 1 second.
+# nacos.core.protocol.distro.data.sync.delayMs=1000
+### Distro data sync timeout for one sync data, default 3 seconds.
+# nacos.core.protocol.distro.data.sync.timeoutMs=3000
+### Distro data sync retry delay time when sync data failed or timeout, same behavior with delayMs, default 3 seconds.
+# nacos.core.protocol.distro.data.sync.retryDelayMs=3000
+### Distro data verify interval time, verify synced data whether expired for a interval. Default 5 seconds.
+# nacos.core.protocol.distro.data.verify.intervalMs=5000
+### Distro data verify timeout for one verify, default 3 seconds.
+# nacos.core.protocol.distro.data.verify.timeoutMs=3000
+### Distro data load retry delay when load snapshot data failed, default 30 seconds.
+# nacos.core.protocol.distro.data.load.retryDelayMs=30000
+### enable to support prometheus service discovery
+#nacos.prometheus.metrics.enabled=true
+
+#*************** Grpc Configurations ***************#
+
+### Sets the maximum message size allowed to be received on the server.
+#nacos.remote.server.grpc.sdk.max-inbound-message-size=10485760
+### Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
+#nacos.remote.server.grpc.sdk.keep-alive-time=7200000
+### Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
+#nacos.remote.server.grpc.sdk.keep-alive-timeout=20000
+### Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
+#nacos.remote.server.grpc.sdk.permit-keep-alive-time=300000
+### cluster grpc(inside the nacos server) configuration
+#nacos.remote.server.grpc.cluster.max-inbound-message-size=10485760
+### Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
+#nacos.remote.server.grpc.cluster.keep-alive-time=7200000
+### Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
+#nacos.remote.server.grpc.cluster.keep-alive-timeout=20000
+### Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
+#nacos.remote.server.grpc.cluster.permit-keep-alive-time=300000
+
+#*************** Config Module Related Configurations ***************#
+
### the maximum retry times for push
nacos.config.push.maxRetryTime=50
@@ -69,36 +152,11 @@ nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000
+#--------------- Nacos Web Server Configurations ---------------#
-#*************** CMDB Module Related Configurations ***************#
-### The interval to dump external CMDB in seconds:
-# nacos.cmdb.dumpTaskInterval=3600
-
-### The interval of polling data change event in seconds:
-# nacos.cmdb.eventTaskInterval=10
-
-### The interval of loading labels in seconds:
-# nacos.cmdb.labelTaskInterval=300
-
-### If turn on data loading task:
-# nacos.cmdb.loadDataAtStart=false
-
-
-#*************** Metrics Related Configurations ***************#
-### Metrics for prometheus
-#management.endpoints.web.exposure.include=*
-
-### Metrics for elastic search
-management.metrics.export.elastic.enabled=false
-#management.metrics.export.elastic.host=http://localhost:9200
-
-### Metrics for influx
-management.metrics.export.influx.enabled=false
-#management.metrics.export.influx.db=springboot
-#management.metrics.export.influx.uri=http://localhost:8086
-#management.metrics.export.influx.auto-create-db=true
-#management.metrics.export.influx.consistency=one
-#management.metrics.export.influx.compressed=true
+#*************** Nacos Web Server Related Configurations ***************#
+### Nacos Server Web context path:
+nacos.server.contextPath=/nacos
#*************** Access Log Related Configurations ***************#
### If turn on the access log:
@@ -113,37 +171,72 @@ server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Reque
### The directory of access log:
server.tomcat.basedir=file:.
+#*************** API Related Configurations ***************#
+### Include message field
+server.error.include-message=ALWAYS
+
+### Enabled for open API compatibility
+# nacos.core.api.compatibility.client.enabled=true
+### Enabled for admin API compatibility
+# nacos.core.api.compatibility.admin.enabled=true
+### Enabled for console API compatibility
+# nacos.core.api.compatibility.console.enabled=false
+
+#--------------- Nacos Console Configurations ---------------#
+
+#*************** Nacos Console Related Configurations ***************#
+### Nacos Console Main port
+nacos.console.port=8080
+### Nacos Server Web context path:
+nacos.console.contextPath=
+
+#************** Console UI Configuration ***************#
+
+### Turn on/off the nacos console ui.
+#nacos.console.ui.enabled=true
+
+#--------------- Nacos Plugin Configurations ---------------#
+
+#*************** CMDB Plugin Related Configurations ***************#
+### The interval to dump external CMDB in seconds:
+# nacos.cmdb.dumpTaskInterval=3600
-#*************** Access Control Related Configurations ***************#
-### If enable spring security, this option is deprecated in 1.2.0:
-#spring.security.enabled=false
-### The ignore urls of auth, is deprecated in 1.2.0:
+### The interval of polling data change event in seconds:
+# nacos.cmdb.eventTaskInterval=10
+
+### The interval of loading labels in seconds:
+# nacos.cmdb.labelTaskInterval=300
+
+### If turn on data loading task:
+# nacos.cmdb.loadDataAtStart=false
+
+#*************** Auth Plugin Related Configurations ***************#
+### The ignore urls of auth, will be deprecated in the future:
nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
-### The auth system to use, currently only 'nacos' and 'ldap' is supported:
+### The auth system to use, default 'nacos' and 'ldap' is supported, other type should be implemented by yourself:
nacos.core.auth.system.type=nacos
-### If turn on auth system v3:
+### If turn on auth system:
+# Whether open nacos server API auth system
nacos.core.auth.enabled=false
+# Whether open nacos console API auth system
nacos.core.auth.console.enabled=true
### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
nacos.core.auth.caching.enabled=true
-### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version.
-nacos.core.auth.enable.userAgentAuthWhite=false
-
-### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false.
+### worked when nacos.core.auth.enabled=true
### The two properties is the white list for auth and used by identity the request from other server.
nacos.core.auth.server.identity.key=
nacos.core.auth.server.identity.value=
-### worked when nacos.core.auth.system.type=nacos
+### worked when nacos.core.auth.system.type=nacos or nacos.core.auth.console.enabled=true
### The token expiration in seconds:
nacos.core.auth.plugin.nacos.token.cache.enable=false
nacos.core.auth.plugin.nacos.token.expire.seconds=18000
### The default token (Base64 string):
-#nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
+#nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
nacos.core.auth.plugin.nacos.token.secret.key=
### worked when nacos.core.auth.system.type=ldap,{0} is Placeholder,replace login username
@@ -181,74 +274,11 @@ nacos.core.auth.plugin.nacos.token.secret.key=
# fileformatcheck,which validate the import file of type and content
#nacos.core.config.plugin.fileformatcheck.enabled=false
-#*************** Istio Related Configurations ***************#
+#*************** Istio Plugin Related Configurations ***************#
### If turn on the MCP server:
nacos.istio.mcp.server.enabled=false
-###*************** Add from 1.3.0 ***************###
-
-#*************** Core Related Configurations ***************#
-
-### set the WorkerID manually
-# nacos.core.snowflake.worker-id=
-
-### Member-MetaData
-# nacos.core.member.meta.site=
-# nacos.core.member.meta.adweight=
-# nacos.core.member.meta.weight=
-
-### MemberLookup
-### Addressing pattern category, If set, the priority is highest
-# nacos.core.member.lookup.type=[file,address-server]
-## Set the cluster list with a configuration file or command-line argument
-# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
-## for AddressServerMemberLookup
-# Maximum number of retries to query the address server upon initialization
-# nacos.core.address-server.retry=5
-## Server domain name address of [address-server] mode
-# address.server.domain=jmenv.tbsite.net
-## Server port of [address-server] mode
-# address.server.port=8080
-## Request address of [address-server] mode
-# address.server.url=/nacos/serverlist
-
-#*************** JRaft Related Configurations ***************#
-
-### Sets the Raft cluster election timeout, default value is 5 second
-# nacos.core.protocol.raft.data.election_timeout_ms=5000
-### Sets the amount of time the Raft snapshot will execute periodically, default is 30 minute
-# nacos.core.protocol.raft.data.snapshot_interval_secs=30
-### raft internal worker threads
-# nacos.core.protocol.raft.data.core_thread_num=8
-### Number of threads required for raft business request processing
-# nacos.core.protocol.raft.data.cli_service_thread_num=4
-### raft linear read strategy. Safe linear reads are used by default, that is, the Leader tenure is confirmed by heartbeat
-# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
-### rpc request timeout, default 5 seconds
-# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000
-### enable to support prometheus service discovery
-#nacos.prometheus.metrics.enabled=true
-
-#************** Console UI Configuration ***************#
-
-### Turn on/off the nacos console ui.
-#nacos.console.ui.enabled=true
-
-###*************** Add from 3.0.0 ***************###
-
-#*************** Deployment Type Configuration ***************#
-
-### Sets the deployment type: 'merged' for joint deployment, 'server' for separate deployment server only, 'console' for separate deployment console only.
-nacos.deployment.type=merged
-
-#************** Nacos Admin Compatibility Related Configurations ***************#
-
-### Enabled for open API compatibility
-# nacos.core.api.compatibility.client.enabled=true
-### Enabled for admin API compatibility
-# nacos.core.api.compatibility.admin.enabled=true
-### Enabled for console API compatibility
-# nacos.core.api.compatibility.console.enabled=false
+#--------------- Nacos Experimental Features Configurations ---------------#
#*************** K8s Related Configurations ***************#
### If turn on the K8s sync:
@@ -256,4 +286,9 @@ nacos.k8s.sync.enabled=false
### If use the Java API from an application outside a kubernetes cluster
#nacos.k8s.sync.outsideCluster=false
-#nacos.k8s.sync.kubeConfig=/.kube/config
\ No newline at end of file
+#nacos.k8s.sync.kubeConfig=/.kube/config
+
+#*************** Deployment Type Configuration ***************#
+
+### Sets the deployment type: 'merged' for joint deployment, 'server' for separate deployment server only, 'console' for separate deployment console only.
+nacos.deployment.type=merged
diff --git a/console/pom.xml b/console/pom.xml
index 0c483170b28..486d128701a 100644
--- a/console/pom.xml
+++ b/console/pom.xml
@@ -42,7 +42,7 @@
${project.groupId}nacos-lock
-
+
com.alibaba.nacosnacos-default-plugin-all
@@ -117,41 +117,4 @@
-
-
-
- release-nacos
-
- nacos-server
-
-
- maven-jar-plugin
-
-
-
- true
- true
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
- com.alibaba.nacos.bootstrap.Nacos
- ZIP
-
-
-
-
- repackage
-
-
-
-
-
-
-
-
diff --git a/distribution/bin/startup.cmd b/distribution/bin/startup.cmd
index 805f2a02cc8..9ec13ddc8f0 100755
--- a/distribution/bin/startup.cmd
+++ b/distribution/bin/startup.cmd
@@ -31,7 +31,8 @@ set FUNCTION_MODE_INDEX=-1
set SERVER_INDEX=-1
set EMBEDDED_STORAGE_INDEX=-1
set EMBEDDED_STORAGE=""
-
+set DEPLOYMENT_INDEX=-1
+set DEPLOYMENT="merged"
set i=0
for %%a in (%*) do (
@@ -39,6 +40,7 @@ for %%a in (%*) do (
if "%%a" == "-f" ( set /a FUNCTION_MODE_INDEX=!i!+1 )
if "%%a" == "-s" ( set /a SERVER_INDEX=!i!+1 )
if "%%a" == "-p" ( set /a EMBEDDED_STORAGE_INDEX=!i!+1 )
+ if "%%a" == "-d" ( set /a DEPLOYMENT_INDEX=!i!+1 )
set /a i+=1
)
@@ -48,6 +50,7 @@ for %%a in (%*) do (
if %FUNCTION_MODE_INDEX% == !i! ( set FUNCTION_MODE="%%a" )
if %SERVER_INDEX% == !i! (set SERVER="%%a")
if %EMBEDDED_STORAGE_INDEX% == !i! (set EMBEDDED_STORAGE="%%a")
+ if %DEPLOYMENT_INDEX% == !i! (set DEPLOYMENT="%%a")
set /a i+=1
)
@@ -79,6 +82,7 @@ if %FUNCTION_MODE% == "naming" (
)
rem set nacos options
+set "NACOS_OPTS=%NACOS_OPTS% -Dnacos.deployment.mode=%DEPLOYMENT%"
set "NACOS_OPTS=%NACOS_OPTS% -Dloader.path=%BASE_DIR%/plugins,%BASE_DIR%/plugins/health,%BASE_DIR%/plugins/cmdb,%BASE_DIR%/plugins/selector"
set "NACOS_OPTS=%NACOS_OPTS% -Dnacos.home=%BASE_DIR%"
set "NACOS_OPTS=%NACOS_OPTS% -jar %BASE_DIR%\target\%SERVER%.jar"
diff --git a/distribution/bin/startup.sh b/distribution/bin/startup.sh
index cfe2f486126..5e7aece9961 100644
--- a/distribution/bin/startup.sh
+++ b/distribution/bin/startup.sh
@@ -61,7 +61,8 @@ export MODE="cluster"
export FUNCTION_MODE="all"
export MEMBER_LIST=""
export EMBEDDED_STORAGE=""
-while getopts ":m:f:s:c:p:" opt
+export DEPLOYMENT="merged"
+while getopts ":m:f:s:c:p:d:" opt
do
case $opt in
m)
@@ -74,6 +75,8 @@ do
MEMBER_LIST=$OPTARG;;
p)
EMBEDDED_STORAGE=$OPTARG;;
+ d)
+ DEPLOYMENT=$OPTARG;;
?)
echo "Unknown parameter"
exit 1;;
@@ -117,6 +120,7 @@ else
JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
fi
+JAVA_OPT="${JAVA_OPT} -Dnacos.deployment.type=${DEPLOYMENT}"
JAVA_OPT="${JAVA_OPT} -Dloader.path=${BASE_DIR}/plugins,${BASE_DIR}/plugins/health,${BASE_DIR}/plugins/cmdb,${BASE_DIR}/plugins/selector"
JAVA_OPT="${JAVA_OPT} -Dnacos.home=${BASE_DIR}"
JAVA_OPT="${JAVA_OPT} -jar ${BASE_DIR}/target/${SERVER}.jar"
diff --git a/distribution/conf/application.properties b/distribution/conf/application.properties
index f33f8815a59..e45a7a015d9 100644
--- a/distribution/conf/application.properties
+++ b/distribution/conf/application.properties
@@ -1,5 +1,5 @@
#
-# Copyright 1999-2021 Alibaba Group Holding Ltd.
+# Copyright 1999-2025 Alibaba Group Holding Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -14,13 +14,11 @@
# limitations under the License.
#
-#*************** Spring Boot Related Configurations ***************#
-### Default web context path:
-server.servlet.contextPath=/nacos
-### Include message field
-server.error.include-message=ALWAYS
-### Default web server port:
-server.port=8848
+#--------------- Nacos Common Configurations ---------------#
+
+#*************** Nacos port Related Configurations ***************#
+### Nacos Server Main port
+nacos.server.main.port=8848
#*************** Network Related Configurations ***************#
### If prefer hostname over ip for Nacos server addresses in cluster.conf:
@@ -29,82 +27,20 @@ server.port=8848
### Specify local server's IP:
# nacos.inetutils.ip-address=
-
-#*************** Config Module Related Configurations ***************#
-### If use MySQL as datasource:
-### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
-# spring.datasource.platform=mysql
-# spring.sql.init.platform=mysql
-
+#*************** Datasource Related Configurations ***************#
+### nacos.plugin.datasource.log.enabled=true
+#spring.sql.init.platform=mysql
### Count of DB:
# db.num=1
### Connect URL of DB:
-# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
-# db.user.0=nacos
-# db.password.0=nacos
-
-### Connection pool configuration: hikariCP
-db.pool.config.connectionTimeout=30000
-db.pool.config.validationTimeout=10000
-db.pool.config.maximumPoolSize=20
-db.pool.config.minimumIdle=2
-
-### the maximum retry times for push
-nacos.config.push.maxRetryTime=50
-
-#*************** Naming Module Related Configurations ***************#
-
-### If enable data warmup. If set to false, the server would accept request without local data preparation:
-# nacos.naming.data.warmup=true
-
-### If enable the instance auto expiration, kind like of health check of instance:
-# nacos.naming.expireInstance=true
-
-### Add in 2.0.0
-### The interval to clean empty service, unit: milliseconds.
-# nacos.naming.clean.empty-service.interval=60000
-
-### The expired time to clean empty service, unit: milliseconds.
-# nacos.naming.clean.empty-service.expired-time=60000
-
-### The interval to clean expired metadata, unit: milliseconds.
-# nacos.naming.clean.expired-metadata.interval=5000
-
-### The expired time to clean metadata, unit: milliseconds.
-# nacos.naming.clean.expired-metadata.expired-time=60000
-
-### The delay time before push task to execute from service changed, unit: milliseconds.
-# nacos.naming.push.pushTaskDelay=500
-
-### The timeout for push task execute, unit: milliseconds.
-# nacos.naming.push.pushTaskTimeout=5000
-
-### The delay time for retrying failed push task, unit: milliseconds.
-# nacos.naming.push.pushTaskRetryDelay=1000
-
-### Since 2.0.3
-### The expired time for inactive client, unit: milliseconds.
-# nacos.naming.client.expired.time=180000
-
-#*************** CMDB Module Related Configurations ***************#
-### The interval to dump external CMDB in seconds:
-# nacos.cmdb.dumpTaskInterval=3600
-
-### The interval of polling data change event in seconds:
-# nacos.cmdb.eventTaskInterval=10
-
-### The interval of loading labels in seconds:
-# nacos.cmdb.labelTaskInterval=300
-
-### If turn on data loading task:
-# nacos.cmdb.loadDataAtStart=false
+# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
+# db.user=nacos
+# db.password=nacos
-#***********Metrics for tomcat **************************#
-server.tomcat.mbeanregistry.enabled=true
-
-#***********Expose prometheus and health **************************#
-#management.endpoints.web.exposure.include=prometheus,health
+#*************** Metrics Related Configurations ***************#
+### Metrics for prometheus
+#management.endpoints.web.exposure.include=prometheus
### Metrics for elastic search
management.metrics.export.elastic.enabled=false
@@ -118,90 +54,6 @@ management.metrics.export.influx.enabled=false
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true
-#*************** Access Log Related Configurations ***************#
-### If turn on the access log:
-server.tomcat.accesslog.enabled=true
-
-### file name pattern, one file per hour
-server.tomcat.accesslog.rotate=true
-server.tomcat.accesslog.file-date-format=.yyyy-MM-dd-HH
-### The access log pattern:
-server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
-
-### The directory of access log:
-server.tomcat.basedir=file:.
-
-#*************** Access Control Related Configurations ***************#
-### If enable spring security, this option is deprecated in 1.2.0:
-#spring.security.enabled=false
-
-### The ignore urls of auth
-nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
-
-### The auth system to use, currently only 'nacos' and 'ldap' is supported:
-nacos.core.auth.system.type=nacos
-
-### If turn on auth system:
-nacos.core.auth.enabled=false
-nacos.core.auth.console.enabled=true
-
-### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
-nacos.core.auth.caching.enabled=true
-
-### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version.
-nacos.core.auth.enable.userAgentAuthWhite=false
-
-### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false.
-### The two properties is the white list for auth and used by identity the request from other server.
-nacos.core.auth.server.identity.key=
-nacos.core.auth.server.identity.value=
-
-### worked when nacos.core.auth.system.type=nacos
-### The token expiration in seconds:
-nacos.core.auth.plugin.nacos.token.cache.enable=false
-nacos.core.auth.plugin.nacos.token.expire.seconds=18000
-### The default token (Base64 String):
-nacos.core.auth.plugin.nacos.token.secret.key=
-
-### worked when nacos.core.auth.system.type=ldap,{0} is Placeholder,replace login username
-#nacos.core.auth.ldap.url=ldap://localhost:389
-#nacos.core.auth.ldap.basedc=dc=example,dc=org
-#nacos.core.auth.ldap.userDn=cn=admin,${nacos.core.auth.ldap.basedc}
-#nacos.core.auth.ldap.password=admin
-#nacos.core.auth.ldap.userdn=cn={0},dc=example,dc=org
-#nacos.core.auth.ldap.filter.prefix=uid
-#nacos.core.auth.ldap.case.sensitive=true
-#nacos.core.auth.ldap.ignore.partial.result.exception=false
-
-#*************** Control Plugin Related Configurations ***************#
-# plugin type
-#nacos.plugin.control.manager.type=nacos
-
-# local control rule storage dir, default ${nacos.home}/data/connection and ${nacos.home}/data/tps
-#nacos.plugin.control.rule.local.basedir=${nacos.home}
-
-# external control rule storage type, if exist
-#nacos.plugin.control.rule.external.storage=
-
-#*************** Config Change Plugin Related Configurations ***************#
-# webhook
-#nacos.core.config.plugin.webhook.enabled=false
-# It is recommended to use EB https://help.aliyun.com/document_detail/413974.html
-#nacos.core.config.plugin.webhook.url=http://localhost:8080/webhook/send?token=***
-# The content push max capacity ,byte
-#nacos.core.config.plugin.webhook.contentMaxCapacity=102400
-
-# whitelist
-#nacos.core.config.plugin.whitelist.enabled=false
-# The import file suffixs
-#nacos.core.config.plugin.whitelist.suffixs=xml,text,properties,yaml,html
-# fileformatcheck,which validate the import file of type and content
-#nacos.core.config.plugin.fileformatcheck.enabled=false
-
-#*************** Istio Related Configurations ***************#
-### If turn on the MCP server:
-nacos.istio.mcp.server.enabled=false
-
#*************** Core Related Configurations ***************#
### set the WorkerID manually
@@ -215,8 +67,10 @@ nacos.istio.mcp.server.enabled=false
### MemberLookup
### Addressing pattern category, If set, the priority is highest
# nacos.core.member.lookup.type=[file,address-server]
+
## Set the cluster list with a configuration file or command-line argument
# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
+
## for AddressServerMemberLookup
# Maximum number of retries to query the address server upon initialization
# nacos.core.address-server.retry=5
@@ -241,71 +95,85 @@ nacos.istio.mcp.server.enabled=false
# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
### rpc request timeout, default 5 seconds
# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000
+### enable to support prometheus service discovery
+#nacos.prometheus.metrics.enabled=true
#*************** Distro Related Configurations ***************#
### Distro data sync delay time, when sync task delayed, task will be merged for same data key. Default 1 second.
# nacos.core.protocol.distro.data.sync.delayMs=1000
-
### Distro data sync timeout for one sync data, default 3 seconds.
# nacos.core.protocol.distro.data.sync.timeoutMs=3000
-
### Distro data sync retry delay time when sync data failed or timeout, same behavior with delayMs, default 3 seconds.
# nacos.core.protocol.distro.data.sync.retryDelayMs=3000
-
### Distro data verify interval time, verify synced data whether expired for a interval. Default 5 seconds.
# nacos.core.protocol.distro.data.verify.intervalMs=5000
-
### Distro data verify timeout for one verify, default 3 seconds.
# nacos.core.protocol.distro.data.verify.timeoutMs=3000
-
### Distro data load retry delay when load snapshot data failed, default 30 seconds.
# nacos.core.protocol.distro.data.load.retryDelayMs=30000
-
### enable to support prometheus service discovery
#nacos.prometheus.metrics.enabled=true
-### Since 2.3
#*************** Grpc Configurations ***************#
-## sdk grpc(between nacos server and client) configuration
-## Sets the maximum message size allowed to be received on the server.
+### Sets the maximum message size allowed to be received on the server.
#nacos.remote.server.grpc.sdk.max-inbound-message-size=10485760
-
-## Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
+### Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
#nacos.remote.server.grpc.sdk.keep-alive-time=7200000
-
-## Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
+### Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
#nacos.remote.server.grpc.sdk.keep-alive-timeout=20000
+### Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
+#nacos.remote.server.grpc.sdk.permit-keep-alive-time=300000
+### cluster grpc(inside the nacos server) configuration
+#nacos.remote.server.grpc.cluster.max-inbound-message-size=10485760
+### Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
+#nacos.remote.server.grpc.cluster.keep-alive-time=7200000
+### Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
+#nacos.remote.server.grpc.cluster.keep-alive-timeout=20000
+### Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
+#nacos.remote.server.grpc.cluster.permit-keep-alive-time=300000
+#*************** Config Module Related Configurations ***************#
-## Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
-#nacos.remote.server.grpc.sdk.permit-keep-alive-time=300000
+### the maximum retry times for push
+nacos.config.push.maxRetryTime=50
-## cluster grpc(inside the nacos server) configuration
-#nacos.remote.server.grpc.cluster.max-inbound-message-size=10485760
+#*************** Naming Module Related Configurations ***************#
+### Data dispatch task execution period in milliseconds:
-## Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
-#nacos.remote.server.grpc.cluster.keep-alive-time=7200000
+### If enable data warmup. If set to false, the server would accept request without local data preparation:
+# nacos.naming.data.warmup=true
-## Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
-#nacos.remote.server.grpc.cluster.keep-alive-timeout=20000
+### If enable the instance auto expiration, kind like of health check of instance:
+# nacos.naming.expireInstance=true
-## Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
-#nacos.remote.server.grpc.cluster.permit-keep-alive-time=300000
+nacos.naming.empty-service.auto-clean=true
+nacos.naming.empty-service.clean.initial-delay-ms=50000
+nacos.naming.empty-service.clean.period-time-ms=30000
-#************** Console UI Configuration ***************#
+#--------------- Nacos Web Server Configurations ---------------#
-### Turn on/off the nacos console ui.
-#nacos.console.ui.enabled=true
+#*************** Nacos Web Server Related Configurations ***************#
+### Nacos Server Web context path:
+nacos.server.contextPath=/nacos
-### Since 3.0
-#*************** Deployment Type Configuration ***************#
+#*************** Access Log Related Configurations ***************#
+### If turn on the access log:
+server.tomcat.accesslog.enabled=true
-### Sets the deployment type: 'merged' for joint deployment, 'server' for separate deployment server only, 'console' for separate deployment console only.
-nacos.deployment.type=merged
+### accesslog automatic cleaning time
+server.tomcat.accesslog.max-days=30
+
+### The access log pattern:
+server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
+
+### The directory of access log:
+server.tomcat.basedir=file:.
-#************** Nacos Admin Compatibility Related Configurations ***************#
+#*************** API Related Configurations ***************#
+### Include message field
+server.error.include-message=ALWAYS
### Enabled for open API compatibility
# nacos.core.api.compatibility.client.enabled=true
@@ -314,10 +182,113 @@ nacos.deployment.type=merged
### Enabled for console API compatibility
# nacos.core.api.compatibility.console.enabled=false
+#--------------- Nacos Console Configurations ---------------#
+
+#*************** Nacos Console Related Configurations ***************#
+### Nacos Console Main port
+nacos.console.port=8080
+### Nacos Server Web context path:
+nacos.console.contextPath=
+
+#************** Console UI Configuration ***************#
+
+### Turn on/off the nacos console ui.
+#nacos.console.ui.enabled=true
+
+#--------------- Nacos Plugin Configurations ---------------#
+
+#*************** CMDB Plugin Related Configurations ***************#
+### The interval to dump external CMDB in seconds:
+# nacos.cmdb.dumpTaskInterval=3600
+
+### The interval of polling data change event in seconds:
+# nacos.cmdb.eventTaskInterval=10
+
+### The interval of loading labels in seconds:
+# nacos.cmdb.labelTaskInterval=300
+
+### If turn on data loading task:
+# nacos.cmdb.loadDataAtStart=false
+
+#*************** Auth Plugin Related Configurations ***************#
+### The ignore urls of auth, will be deprecated in the future:
+nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
+
+### The auth system to use, default 'nacos' and 'ldap' is supported, other type should be implemented by yourself:
+nacos.core.auth.system.type=nacos
+
+### If turn on auth system:
+# Whether open nacos server API auth system
+nacos.core.auth.enabled=false
+# Whether open nacos console API auth system
+nacos.core.auth.console.enabled=true
+
+### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
+nacos.core.auth.caching.enabled=true
+
+### worked when nacos.core.auth.enabled=true
+### The two properties is the white list for auth and used by identity the request from other server.
+nacos.core.auth.server.identity.key=
+nacos.core.auth.server.identity.value=
+
+### worked when nacos.core.auth.system.type=nacos or nacos.core.auth.console.enabled=true
+### The token expiration in seconds:
+nacos.core.auth.plugin.nacos.token.cache.enable=false
+nacos.core.auth.plugin.nacos.token.expire.seconds=18000
+### The default token (Base64 string):
+#nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
+nacos.core.auth.plugin.nacos.token.secret.key=
+
+### worked when nacos.core.auth.system.type=ldap,{0} is Placeholder,replace login username
+#nacos.core.auth.ldap.url=ldap://localhost:389
+#nacos.core.auth.ldap.basedc=dc=example,dc=org
+#nacos.core.auth.ldap.userDn=cn=admin,${nacos.core.auth.ldap.basedc}
+#nacos.core.auth.ldap.password=admin
+#nacos.core.auth.ldap.userdn=cn={0},dc=example,dc=org
+#nacos.core.auth.ldap.filter.prefix=uid
+#nacos.core.auth.ldap.case.sensitive=true
+#nacos.core.auth.ldap.ignore.partial.result.exception=false
+
+#*************** Control Plugin Related Configurations ***************#
+# plugin type
+#nacos.plugin.control.manager.type=nacos
+
+# local control rule storage dir, default ${nacos.home}/data/connection and ${nacos.home}/data/tps
+#nacos.plugin.control.rule.local.basedir=${nacos.home}
+
+# external control rule storage type, if exist
+#nacos.plugin.control.rule.external.storage=
+
+#*************** Config Change Plugin Related Configurations ***************#
+# webhook
+#nacos.core.config.plugin.webhook.enabled=false
+# It is recommended to use EB https://help.aliyun.com/document_detail/413974.html
+#nacos.core.config.plugin.webhook.url=http://localhost:8080/webhook/send?token=***
+# The content push max capacity ,byte
+#nacos.core.config.plugin.webhook.contentMaxCapacity=102400
+
+# whitelist
+#nacos.core.config.plugin.whitelist.enabled=false
+# The import file suffixs
+#nacos.core.config.plugin.whitelist.suffixs=xml,text,properties,yaml,html
+# fileformatcheck,which validate the import file of type and content
+#nacos.core.config.plugin.fileformatcheck.enabled=false
+
+#*************** Istio Plugin Related Configurations ***************#
+### If turn on the MCP server:
+nacos.istio.mcp.server.enabled=false
+
+#--------------- Nacos Experimental Features Configurations ---------------#
+
#*************** K8s Related Configurations ***************#
### If turn on the K8s sync:
nacos.k8s.sync.enabled=false
### If use the Java API from an application outside a kubernetes cluster
#nacos.k8s.sync.outsideCluster=false
-#nacos.k8s.sync.kubeConfig=/.kube/config
\ No newline at end of file
+#nacos.k8s.sync.kubeConfig=/.kube/config
+
+#*************** Deployment Type Configuration ***************#
+
+### Sets the deployment type: 'merged' for joint deployment, 'server' for separate deployment server only, 'console' for separate deployment console only.
+nacos.deployment.type=merged
diff --git a/distribution/conf/application.properties.example b/distribution/conf/application.properties.example
deleted file mode 100644
index 0fc781decfd..00000000000
--- a/distribution/conf/application.properties.example
+++ /dev/null
@@ -1,279 +0,0 @@
-#
-# Copyright 1999-2021 Alibaba Group Holding Ltd.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#*************** Spring Boot Related Configurations ***************#
-### Default web context path:
-server.servlet.contextPath=/nacos
-### Include message field
-server.error.include-message=ALWAYS
-### Default web server port:
-server.port=8848
-
-#*************** Network Related Configurations ***************#
-### If prefer hostname over ip for Nacos server addresses in cluster.conf:
-# nacos.inetutils.prefer-hostname-over-ip=false
-
-### Specify local server's IP:
-# nacos.inetutils.ip-address=
-
-
-#*************** Config Module Related Configurations ***************#
-### If use MySQL as datasource:
-### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
-# spring.datasource.platform=mysql
-# spring.sql.init.platform=mysql
-
-### Count of DB:
-# db.num=1
-
-### Connect URL of DB:
-# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
-# db.user.0=nacos
-# db.password.0=nacos
-
-### Connection pool configuration: hikariCP
-db.pool.config.connectionTimeout=30000
-db.pool.config.validationTimeout=10000
-db.pool.config.maximumPoolSize=20
-db.pool.config.minimumIdle=2
-
-### the maximum retry times for push
-nacos.config.push.maxRetryTime=50
-
-#*************** Naming Module Related Configurations ***************#
-### If enable data warmup. If set to false, the server would accept request without local data preparation:
-# nacos.naming.data.warmup=true
-
-### If enable the instance auto expiration, kind like of health check of instance:
-# nacos.naming.expireInstance=true
-
-### will be removed and replaced by `nacos.naming.clean` properties
-nacos.naming.empty-service.auto-clean=true
-nacos.naming.empty-service.clean.initial-delay-ms=50000
-nacos.naming.empty-service.clean.period-time-ms=30000
-
-### Add in 2.0.0
-### The interval to clean empty service, unit: milliseconds.
-# nacos.naming.clean.empty-service.interval=60000
-
-### The expired time to clean empty service, unit: milliseconds.
-# nacos.naming.clean.empty-service.expired-time=60000
-
-### The interval to clean expired metadata, unit: milliseconds.
-# nacos.naming.clean.expired-metadata.interval=5000
-
-### The expired time to clean metadata, unit: milliseconds.
-# nacos.naming.clean.expired-metadata.expired-time=60000
-
-### The delay time before push task to execute from service changed, unit: milliseconds.
-# nacos.naming.push.pushTaskDelay=500
-
-### The timeout for push task execute, unit: milliseconds.
-# nacos.naming.push.pushTaskTimeout=5000
-
-### The delay time for retrying failed push task, unit: milliseconds.
-# nacos.naming.push.pushTaskRetryDelay=1000
-
-### Since 2.0.3
-### The expired time for inactive client, unit: milliseconds.
-# nacos.naming.client.expired.time=180000
-
-#*************** CMDB Module Related Configurations ***************#
-### The interval to dump external CMDB in seconds:
-# nacos.cmdb.dumpTaskInterval=3600
-
-### The interval of polling data change event in seconds:
-# nacos.cmdb.eventTaskInterval=10
-
-### The interval of loading labels in seconds:
-# nacos.cmdb.labelTaskInterval=300
-
-### If turn on data loading task:
-# nacos.cmdb.loadDataAtStart=false
-
-
-#*************** Metrics Related Configurations ***************#
-### Metrics for prometheus
-#management.endpoints.web.exposure.include=*
-
-### Metrics for elastic search
-management.metrics.export.elastic.enabled=false
-#management.metrics.export.elastic.host=http://localhost:9200
-
-### Metrics for influx
-management.metrics.export.influx.enabled=false
-#management.metrics.export.influx.db=springboot
-#management.metrics.export.influx.uri=http://localhost:8086
-#management.metrics.export.influx.auto-create-db=true
-#management.metrics.export.influx.consistency=one
-#management.metrics.export.influx.compressed=true
-
-#*************** Access Log Related Configurations ***************#
-### If turn on the access log:
-server.tomcat.accesslog.enabled=true
-
-### The access log pattern:
-server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i
-
-### The directory of access log:
-server.tomcat.basedir=file:.
-
-#*************** Access Control Related Configurations ***************#
-### If enable spring security, this option is deprecated in 1.2.0:
-#spring.security.enabled=false
-
-### The ignore urls of auth, is deprecated in 1.2.0:
-nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
-
-### The auth system to use, currently only 'nacos' and 'ldap' is supported:
-nacos.core.auth.system.type=nacos
-
-### If turn on auth system:
-nacos.core.auth.enabled=false
-
-### worked when nacos.core.auth.system.type=ldap,{0} is Placeholder,replace login username
-#nacos.core.auth.system.type=ldap
-#nacos.core.auth.ldap.url=ldap://localhost:389
-#nacos.core.auth.ldap.basedc=dc=example,dc=org
-#nacos.core.auth.ldap.userDn=cn=admin,${nacos.core.auth.ldap.basedc}
-#nacos.core.auth.ldap.password=admin
-#nacos.core.auth.ldap.userdn=cn={0},dc=example,dc=org
-#nacos.core.auth.ldap.filter.prefix=uid
-#nacos.core.auth.ldap.case.sensitive=true
-#nacos.core.auth.ldap.ignore.partial.result.exception=false
-
-
-### worked when nacos.core.auth.system.type=nacos
-### The token expiration in seconds:
-nacos.core.auth.plugin.nacos.token.cache.enable=false
-nacos.core.auth.plugin.nacos.token.expire.seconds=18000
-### The default token (Base64 String):
-nacos.core.auth.plugin.nacos.token.secret.key=
-
-### Turn on/off caching of auth information. By turning on this switch, the update of auth information would have a 15 seconds delay.
-nacos.core.auth.caching.enabled=true
-
-### Since 1.4.1, Turn on/off white auth for user-agent: nacos-server, only for upgrade from old version.
-nacos.core.auth.enable.userAgentAuthWhite=false
-
-### Since 1.4.1, worked when nacos.core.auth.enabled=true and nacos.core.auth.enable.userAgentAuthWhite=false.
-### The two properties is the white list for auth and used by identity the request from other server.
-#nacos.core.auth.server.identity.key=example
-#nacos.core.auth.server.identity.value=example
-
-#*************** Istio Related Configurations ***************#
-### If turn on the MCP server:
-nacos.istio.mcp.server.enabled=false
-
-#*************** K8s Related Configurations ***************#
-### If turn on the K8s sync:
-nacos.k8s.sync.enabled=false
-
-### If use the Java API from an application outside a kubernetes cluster
-#nacos.k8s.sync.outsideCluster=false
-#nacos.k8s.sync.kubeConfig=/.kube/config
-
-#*************** Core Related Configurations ***************#
-
-### set the WorkerID manually
-# nacos.core.snowflake.worker-id=
-
-### Member-MetaData
-# nacos.core.member.meta.site=
-# nacos.core.member.meta.adweight=
-# nacos.core.member.meta.weight=
-
-### MemberLookup
-### Addressing pattern category, If set, the priority is highest
-# nacos.core.member.lookup.type=[file,address-server]
-## Set the cluster list with a configuration file or command-line argument
-# nacos.member.list=192.168.16.101:8847?raft_port=8807,192.168.16.101?raft_port=8808,192.168.16.101:8849?raft_port=8809
-## for AddressServerMemberLookup
-# Maximum number of retries to query the address server upon initialization
-# nacos.core.address-server.retry=5
-## Server domain name address of [address-server] mode
-# address.server.domain=jmenv.tbsite.net
-## Server port of [address-server] mode
-# address.server.port=8080
-## Request address of [address-server] mode
-# address.server.url=/nacos/serverlist
-
-#*************** JRaft Related Configurations ***************#
-
-### Sets the Raft cluster election timeout, default value is 5 second
-# nacos.core.protocol.raft.data.election_timeout_ms=5000
-### Sets the amount of time the Raft snapshot will execute periodically, default is 30 minute
-# nacos.core.protocol.raft.data.snapshot_interval_secs=30
-### raft internal worker threads
-# nacos.core.protocol.raft.data.core_thread_num=8
-### Number of threads required for raft business request processing
-# nacos.core.protocol.raft.data.cli_service_thread_num=4
-### raft linear read strategy. Safe linear reads are used by default, that is, the Leader tenure is confirmed by heartbeat
-# nacos.core.protocol.raft.data.read_index_type=ReadOnlySafe
-### rpc request timeout, default 5 seconds
-# nacos.core.protocol.raft.data.rpc_request_timeout_ms=5000
-
-#*************** Distro Related Configurations ***************#
-
-### Distro data sync delay time, when sync task delayed, task will be merged for same data key. Default 1 second.
-# nacos.core.protocol.distro.data.sync.delayMs=1000
-
-### Distro data sync timeout for one sync data, default 3 seconds.
-# nacos.core.protocol.distro.data.sync.timeoutMs=3000
-
-### Distro data sync retry delay time when sync data failed or timeout, same behavior with delayMs, default 3 seconds.
-# nacos.core.protocol.distro.data.sync.retryDelayMs=3000
-
-### Distro data verify interval time, verify synced data whether expired for a interval. Default 5 seconds.
-# nacos.core.protocol.distro.data.verify.intervalMs=5000
-
-### Distro data verify timeout for one verify, default 3 seconds.
-# nacos.core.protocol.distro.data.verify.timeoutMs=3000
-
-### Distro data load retry delay when load snapshot data failed, default 30 seconds.
-# nacos.core.protocol.distro.data.load.retryDelayMs=30000
-
-### enable to support prometheus service discovery
-#nacos.prometheus.metrics.enabled=true
-
-### Since 2.3
-#*************** Grpc Configurations ***************#
-
-## sdk grpc(between nacos server and client) configuration
-## Sets the maximum message size allowed to be received on the server.
-#nacos.remote.server.grpc.sdk.max-inbound-message-size=10485760
-
-## Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
-#nacos.remote.server.grpc.sdk.keep-alive-time=7200000
-
-## Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
-#nacos.remote.server.grpc.sdk.keep-alive-timeout=20000
-
-
-## Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
-#nacos.remote.server.grpc.sdk.permit-keep-alive-time=300000
-
-## cluster grpc(inside the nacos server) configuration
-#nacos.remote.server.grpc.cluster.max-inbound-message-size=10485760
-
-## Sets the time(milliseconds) without read activity before sending a keepalive ping. The typical default is two hours.
-#nacos.remote.server.grpc.cluster.keep-alive-time=7200000
-
-## Sets a time(milliseconds) waiting for read activity after sending a keepalive ping. Defaults to 20 seconds.
-#nacos.remote.server.grpc.cluster.keep-alive-timeout=20000
-
-## Sets a time(milliseconds) that specify the most aggressive keep-alive time clients are permitted to configure. The typical default is 5 minutes
-#nacos.remote.server.grpc.cluster.permit-keep-alive-time=300000
\ No newline at end of file
diff --git a/distribution/pom.xml b/distribution/pom.xml
index a4f9d9cbed6..f4db8408cb1 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -34,77 +34,11 @@
${project.groupId}
- nacos-console
+ nacos-bootstrap
-
- release-config
-
-
- ${project.groupId}
- nacos-config
-
-
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- release-config
-
- single
-
- package
-
-
- release-config.xml
-
- false
-
-
-
-
-
- acm
-
-
-
- release-naming
-
-
- ${project.groupId}
- nacos-naming
-
-
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- release-naming
-
- single
-
- package
-
-
- release-naming.xml
-
- false
-
-
-
-
-
- ans
-
- release-address
@@ -164,39 +98,6 @@
nacos-client
-
- release-core
-
-
- ${project.groupId}
- nacos-core
-
-
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- release-core
-
- single
-
- package
-
-
- release-core.xml
-
- false
-
-
-
-
-
- nacos-core
-
- release-nacos
diff --git a/distribution/release-config.xml b/distribution/release-config.xml
deleted file mode 100644
index 69dd60a691e..00000000000
--- a/distribution/release-config.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
- cfg
- false
-
- dir
- tar.gz
- zip
-
-
-
- ../
-
- README.md
-
-
-
-
-
- conf/**
- benchmark/*
-
-
-
-
-
- bin/*
-
- 0755
-
-
-
-
-
- LICENSE-BIN
- LICENSE
-
-
- NOTICE-BIN
- NOTICE
-
-
-
-
-
- true
-
- com.alibaba.nacos:nacos-config
-
-
- lib/
- false
-
-
- lib/
-
-
-
-
-
-
diff --git a/distribution/release-core.xml b/distribution/release-core.xml
deleted file mode 100644
index 87d0a568d43..00000000000
--- a/distribution/release-core.xml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
- core
- false
-
- dir
- tar.gz
- zip
-
-
-
- ../
-
- README.md
-
-
-
-
-
- conf/**
-
-
-
-
-
- bin/*
-
- 0755
-
-
-
-
-
- LICENSE-BIN
- LICENSE
-
-
- NOTICE-BIN
- NOTICE
-
-
-
-
-
- true
-
- com.alibaba.nacos:nacos-core
-
-
- lib/
- false
-
-
- lib/
-
-
-
-
-
-
diff --git a/distribution/release-nacos.xml b/distribution/release-nacos.xml
index 1c7b2a10d7c..8112b228dac 100644
--- a/distribution/release-nacos.xml
+++ b/distribution/release-nacos.xml
@@ -54,7 +54,7 @@
- ../console/target/nacos-server.jar
+ ../bootstrap/target/nacos-server.jartarget/
@@ -63,7 +63,7 @@
true
- com.alibaba.nacos:nacos-console
+ com.alibaba.nacos:nacos-bootstrap
diff --git a/distribution/release-naming.xml b/distribution/release-naming.xml
deleted file mode 100644
index 14558c04226..00000000000
--- a/distribution/release-naming.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
- naming
- false
-
- dir
- tar.gz
- zip
-
-
-
- ../
-
- README.md
-
-
-
-
-
- conf/**
- benchmark/*
-
-
-
-
-
- bin/*
-
- 0755
-
-
-
-
-
- LICENSE-BIN
- LICENSE
-
-
- NOTICE-BIN
- NOTICE
-
-
-
-
-
- true
-
- com.alibaba.nacos:nacos-naming
-
-
- lib/
- false
-
-
- lib/
-
-
-
-
-
-
diff --git a/lock/src/test/java/com/alibaba/nacos/lock/service/impl/LockOperationServiceImplTest.java b/lock/src/test/java/com/alibaba/nacos/lock/service/impl/LockOperationServiceImplTest.java
index c020cdd7e8f..4c36e3f49a5 100644
--- a/lock/src/test/java/com/alibaba/nacos/lock/service/impl/LockOperationServiceImplTest.java
+++ b/lock/src/test/java/com/alibaba/nacos/lock/service/impl/LockOperationServiceImplTest.java
@@ -34,7 +34,6 @@
import com.alibaba.nacos.sys.env.EnvUtil;
import com.alibaba.nacos.sys.utils.ApplicationUtils;
import com.google.protobuf.ByteString;
-
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -44,8 +43,6 @@
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
-import java.util.function.BooleanSupplier;
-
import static com.alibaba.nacos.lock.constant.Constants.LOCK_ACQUIRE_SERVICE_GROUP_V2;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/plugin-default-impl/nacos-default-auth-plugin/src/test/java/com/alibaba/nacos/plugin/auth/impl/ldap/LdapAuthenticationProviderTest.java b/plugin-default-impl/nacos-default-auth-plugin/src/test/java/com/alibaba/nacos/plugin/auth/impl/ldap/LdapAuthenticationProviderTest.java
index 99beb562210..aec447ce831 100644
--- a/plugin-default-impl/nacos-default-auth-plugin/src/test/java/com/alibaba/nacos/plugin/auth/impl/ldap/LdapAuthenticationProviderTest.java
+++ b/plugin-default-impl/nacos-default-auth-plugin/src/test/java/com/alibaba/nacos/plugin/auth/impl/ldap/LdapAuthenticationProviderTest.java
@@ -185,18 +185,15 @@ public Boolean answer(InvocationOnMock invocation) throws Throwable {
@Test
void testCloseCaseSensitive() {
when(ldapTemplate.authenticate("", "(" + filterPrefix + "=" + normalUserName + ")",
- defaultPassWord)).thenAnswer(new Answer() {
- @Override
- public Boolean answer(InvocationOnMock invocation) throws Throwable {
- Object[] args = invocation.getArguments();
- String b = (String) args[1];
- String c = (String) args[2];
- if (defaultPassWord.equals(c)) {
- return true;
- }
- return false;
- }
- });
+ defaultPassWord)).thenAnswer((Answer) invocation -> {
+ Object[] args = invocation.getArguments();
+ String b = (String) args[1];
+ String c = (String) args[2];
+ if (defaultPassWord.equals(c)) {
+ return true;
+ }
+ return false;
+ });
User user = new User();
user.setUsername(LDAP_PREFIX + normalUserName);
user.setPassword(defaultPassWord);
diff --git a/pom.xml b/pom.xml
index ad0f278453a..7f7dde82941 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,7 +88,7 @@
- 3.0.0-ALPHA-SNAPSHOT
+ 3.0.0-ALPHA.2UTF-8UTF-8
@@ -806,6 +806,11 @@
nacos-server${project.version}
+
+ ${project.groupId}
+ nacos-bootstrap
+ ${project.version}
+ ${project.groupId}nacos-distribution