This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new e50f4f8  Doc: Reorganize dynamic configuration doc (#7586)
e50f4f8 is described below

commit e50f4f850965e06615695dced96383e7940831d4
Author: wankai123 <[email protected]>
AuthorDate: Fri Aug 27 15:01:18 2021 +0800

    Doc: Reorganize dynamic configuration doc (#7586)
    
    * Reorganize dynamic configuration doc
    
    * add configmap and polish doc
    
    * polish changes.md
---
 CHANGES.md                                        |   1 +
 docs/en/setup/backend/dynamic-config-apollo.md    |  14 ++
 docs/en/setup/backend/dynamic-config-configmap.md | 112 +++++++++++++++
 docs/en/setup/backend/dynamic-config-consul.md    |  15 ++
 docs/en/setup/backend/dynamic-config-etcd.md      |  17 +++
 docs/en/setup/backend/dynamic-config-nacos.md     |  21 +++
 docs/en/setup/backend/dynamic-config-service.md   |  14 ++
 docs/en/setup/backend/dynamic-config-zookeeper.md |  61 ++++++++
 docs/en/setup/backend/dynamic-config.md           | 162 ++++++----------------
 9 files changed, 295 insertions(+), 122 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 59d386f..3f29383 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -63,6 +63,7 @@ Release Notes.
 
 * Add a section in `Log Collecting And Analysis` doc, introducing the new 
Python agent log reporter.
 * Add one missing step in `otel-receiver` doc about how to activate the 
default receiver.
+* Reorganize dynamic configuration doc.
 
 All issues and pull requests are 
[here](https://github.com/apache/skywalking/milestone/96?closed=1)
 
diff --git a/docs/en/setup/backend/dynamic-config-apollo.md 
b/docs/en/setup/backend/dynamic-config-apollo.md
new file mode 100755
index 0000000..3cfe94c
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config-apollo.md
@@ -0,0 +1,14 @@
+# Dynamic Configuration Apollo Implementation
+
+[Apollo](https://github.com/ctripcorp/apollo/) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
+
+```yaml
+configuration:
+  selector: ${SW_CONFIGURATION:apollo}
+  apollo:
+    apolloMeta: ${SW_CONFIG_APOLLO:http://106.12.25.204:8080}
+    apolloCluster: ${SW_CONFIG_APOLLO_CLUSTER:default}
+    apolloEnv: ${SW_CONFIG_APOLLO_ENV:""}
+    appId: ${SW_CONFIG_APOLLO_APP_ID:skywalking}
+    period: ${SW_CONFIG_APOLLO_PERIOD:5}
+```
\ No newline at end of file
diff --git a/docs/en/setup/backend/dynamic-config-configmap.md 
b/docs/en/setup/backend/dynamic-config-configmap.md
new file mode 100755
index 0000000..8e1e8a2
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config-configmap.md
@@ -0,0 +1,112 @@
+# Dynamic Configuration Kuberbetes Configmap Implementation
+
+[configmap](https://kubernetes.io/docs/concepts/configuration/configmap/) is 
also supported as Dynamic Configuration Center (DCC). To use it, please 
configure as follows:
+
+```yaml
+configuration:
+  selector: ${SW_CONFIGURATION:k8s-configmap}
+  # [example] 
(../../../../oap-server/server-configuration/configuration-k8s-configmap/src/test/resources/skywalking-dynamic-configmap.example.yaml)
+  k8s-configmap:
+    # Sync period in seconds. Defaults to 60 seconds.
+    period: ${SW_CONFIG_CONFIGMAP_PERIOD:60}
+    # Which namespace is configmap deployed in.
+    namespace: ${SW_CLUSTER_K8S_NAMESPACE:default}
+    # Labelselector is used to locate specific configmap
+    labelSelector: ${SW_CLUSTER_K8S_LABEL:app=collector,release=skywalking}
+```
+`{namespace}` is the k8s namespace to which the configmap belongs.
+`{labelSelector}` is used to identify which configmaps would be selected.
+
+e.g. These 2 configmaps would be selected by the above config:
+```
+apiversion: v1
+kind: ConfigMap
+metadata:
+  name: skywalking-dynamic-config
+  namespace: default
+  labels:
+    app: collector
+    release: skywalking
+data:
+  configKey1: configValue1
+  configKey2: configValue2
+  ...
+```
+```
+apiversion: v1
+kind: ConfigMap
+metadata:
+  name: skywalking-dynamic-config2
+  namespace: default
+  labels:
+    app: collector
+    release: skywalking
+data:
+  configKey3: configValue3
+  ...
+```
+
+## Config Storage
+The configs is configmap data items as the above example shows. we can 
organize the configs
+in 1 or more configmap files.
+### Single Config
+Under configmap.data:
+```
+  configKey: configValue
+```
+e.g. The config is:
+```
+{agent-analyzer.default.slowDBAccessThreshold}:{default:200,mongodb:50}
+```
+The config in configmap is:
+```
+apiversion: v1
+kind: ConfigMap
+metadata:
+  name: skywalking-dynamic-config
+  namespace: default
+  labels:
+    app: collector
+    release: skywalking
+data:
+  agent-analyzer.default.slowDBAccessThreshold: default:200,mongodb:50
+```
+### Group Config
+The `data key` is composited by configKey and subItemKey to identify it is a 
group config:
+```
+configKey.subItemKey1: subItemValue1
+configKey.subItemKey2: subItemValue2
+...
+```
+e.g. The config is:
+```
+{core.default.endpoint-name-grouping-openapi}:|{customerAPI-v1}:{value of 
customerAPI-v1}
+                                              |{productAPI-v1}:{value of 
productAPI-v1}
+                                              |{productAPI-v2}:{value of 
productAPI-v2}
+```
+The config can separate into 2 configmaps is:
+```
+apiversion: v1
+kind: ConfigMap
+metadata:
+  name: skywalking-dynamic-config
+  namespace: default
+  labels:
+    app: collector
+    release: skywalking
+data:
+  core.default.endpoint-name-grouping-openapi.customerAPI-v1: value of 
customerAPI-v1
+  core.default.endpoint-name-grouping-openapi.productAPI-v1: value of 
productAPI-v1
+```
+```
+apiversion: v1
+kind: ConfigMap
+metadata:
+  name: skywalking-dynamic-config2
+  namespace: default
+  labels:
+    app: collector
+    release: skywalking
+data:
+  core.default.endpoint-name-grouping-openapi.productAPI-v2: value of 
productAPI-v2
+```
\ No newline at end of file
diff --git a/docs/en/setup/backend/dynamic-config-consul.md 
b/docs/en/setup/backend/dynamic-config-consul.md
new file mode 100755
index 0000000..e5f8c3c
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config-consul.md
@@ -0,0 +1,15 @@
+# Dynamic Configuration Consul Implementation
+
+[Consul](https://github.com/rickfast/consul-client) is also supported as 
Dynamic Configuration Center (DCC). To use it, please configure as follows:
+
+```yaml
+configuration:
+  selector: ${SW_CONFIGURATION:consul}
+  consul:
+    # Consul host and ports, separated by comma, e.g. 1.2.3.4:8500,2.3.4.5:8500
+    hostAndPorts: ${SW_CONFIG_CONSUL_HOST_AND_PORTS:1.2.3.4:8500}
+    # Sync period in seconds. Defaults to 60 seconds.
+    period: ${SW_CONFIG_CONSUL_PERIOD:1}
+    # Consul aclToken
+    aclToken: ${SW_CONFIG_CONSUL_ACL_TOKEN:""}
+```
\ No newline at end of file
diff --git a/docs/en/setup/backend/dynamic-config-etcd.md 
b/docs/en/setup/backend/dynamic-config-etcd.md
new file mode 100755
index 0000000..0ea84ed
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config-etcd.md
@@ -0,0 +1,17 @@
+# Dynamic Configuration Etcd Implementation
+
+[Etcd](https://github.com/etcd-io/etcd) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
+
+```yaml
+configuration:
+  selector: ${SW_CONFIGURATION:etcd}
+  etcd:
+    period: ${SW_CONFIG_ETCD_PERIOD:60} # Unit seconds, sync period. Default 
fetch every 60 seconds.
+    endpoints: ${SW_CONFIG_ETCD_ENDPOINTS:localhost:2379}
+    namespace: ${SW_CONFIG_ETCD_NAMESPACE:/skywalking}
+    authentication: ${SW_CONFIG_ETCD_AUTHENTICATION:false}
+    user: ${SW_CONFIG_ETCD_USER:}
+    password: ${SW_CONFIG_ETCD_password:}
+```
+
+**NOTE**: Only the v3 protocol is supported since 8.7.0.
\ No newline at end of file
diff --git a/docs/en/setup/backend/dynamic-config-nacos.md 
b/docs/en/setup/backend/dynamic-config-nacos.md
new file mode 100755
index 0000000..a7a8a52
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config-nacos.md
@@ -0,0 +1,21 @@
+# Dynamic Configuration Nacos Implementation
+
+[Nacos](https://github.com/alibaba/nacos) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
+
+```yaml
+configuration:
+  selector: ${SW_CONFIGURATION:nacos}
+  nacos:
+    # Nacos Server Host
+    serverAddr: ${SW_CONFIG_NACOS_SERVER_ADDR:127.0.0.1}
+    # Nacos Server Port
+    port: ${SW_CONFIG_NACOS_SERVER_PORT:8848}
+    # Nacos Configuration Group
+    group: ${SW_CONFIG_NACOS_SERVER_GROUP:skywalking}
+    # Nacos Configuration namespace
+    namespace: ${SW_CONFIG_NACOS_SERVER_NAMESPACE:}
+    # Unit seconds, sync period. Default fetch every 60 seconds.
+    period: ${SW_CONFIG_NACOS_PERIOD:60}
+    # the name of current cluster, set the name if you want to upstream system 
known.
+    clusterName: ${SW_CONFIG_NACOS_CLUSTER_NAME:default}
+```
\ No newline at end of file
diff --git a/docs/en/setup/backend/dynamic-config-service.md 
b/docs/en/setup/backend/dynamic-config-service.md
new file mode 100755
index 0000000..8db1572
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config-service.md
@@ -0,0 +1,14 @@
+# Dynamic Configuration Service, DCS
+[Dynamic Configuration 
Service](../../../../oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto)
 
+is a gRPC service which requires implementation of the upstream system.
+The SkyWalking OAP fetches the configuration from the implementation (any 
system), after you open the implementation like this:
+
+```yaml
+configuration:
+  selector: ${SW_CONFIGURATION:grpc}
+  grpc:
+    host: ${SW_DCS_SERVER_HOST:""}
+    port: ${SW_DCS_SERVER_PORT:80}
+    clusterName: ${SW_DCS_CLUSTER_NAME:SkyWalking}
+    period: ${SW_DCS_PERIOD:20}
+```
diff --git a/docs/en/setup/backend/dynamic-config-zookeeper.md 
b/docs/en/setup/backend/dynamic-config-zookeeper.md
new file mode 100755
index 0000000..a14d474
--- /dev/null
+++ b/docs/en/setup/backend/dynamic-config-zookeeper.md
@@ -0,0 +1,61 @@
+# Dynamic Configuration Zookeeper Implementation
+[Zookeeper](https://github.com/apache/zookeeper) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
+
+```yaml
+configuration:
+  selector: ${SW_CONFIGURATION:zookeeper}
+  zookeeper:
+    period: ${SW_CONFIG_ZK_PERIOD:60} # Unit seconds, sync period. Default 
fetch every 60 seconds.
+    nameSpace: ${SW_CONFIG_ZK_NAMESPACE:/default}
+    hostPort: ${SW_CONFIG_ZK_HOST_PORT:localhost:2181}
+    # Retry Policy
+    baseSleepTimeMs: ${SW_CONFIG_ZK_BASE_SLEEP_TIME_MS:1000} # initial amount 
of time to wait between retries
+    maxRetries: ${SW_CONFIG_ZK_MAX_RETRIES:3} # max number of times to retry
+```
+
+The **nameSpace** is the ZooKeeper path. The config key and value are the 
properties of the `namespace` folder.
+
+## Config Storage
+### Single Config
+```
+znode.path = {nameSpace}/configKey
+configValue = znode.data
+```
+e.g. The config is: 
+```
+{agent-analyzer.default.slowDBAccessThreshold}:{default:200,mongodb:50}
+```
+If `nameSpace = /default` the config in zookeeper is:
+```
+znode.path = /default/agent-analyzer.default.slowDBAccessThreshold
+znode.data = default:200,mongodb:50
+```
+
+### Group Config
+```
+znode.path = {nameSpace}/configKey
+znode.child1.path = {znode.path}/subItemkey1
+znode.child2.path = {znode.path}/subItemkey2
+...
+subItemValue1 = znode.child1.data
+subItemValue2 = znode.child2.data
+...
+```
+e.g. The config is:
+```
+{core.default.endpoint-name-grouping-openapi}:|{customerAPI-v1}:{value of 
customerAPI-v1}
+                                              |{productAPI-v1}:{value of 
productAPI-v1}
+                                              |{productAPI-v2}:{value of 
productAPI-v2}
+```
+If `nameSpace = /default` the config in zookeeper is:
+```
+znode.path = /default/core.default.endpoint-name-grouping-openapi
+znode.customerAPI-v1.path = 
/default/core.default.endpoint-name-grouping-openapi/customerAPI-v1
+znode.productAPI-v1.path = 
/default/core.default.endpoint-name-grouping-openapi/productAPI-v1
+znode.productAPI-v2.path = 
/default/core.default.endpoint-name-grouping-openapi/productAPI-v2
+
+znode.customerAPI-v1.data = value of customerAPI-v1
+znode.productAPI-v1.data = value of productAPI-v1
+znode.productAPI-v2.data = value of productAPI-v2
+
+```
\ No newline at end of file
diff --git a/docs/en/setup/backend/dynamic-config.md 
b/docs/en/setup/backend/dynamic-config.md
index 3e7e073..41eca86 100755
--- a/docs/en/setup/backend/dynamic-config.md
+++ b/docs/en/setup/backend/dynamic-config.md
@@ -2,19 +2,7 @@
 SkyWalking Configurations are mostly set through `application.yml` and OS 
system environment variables.
 At the same time, some of them support dynamic settings from upstream 
management system.
 
-Currently, SkyWalking supports the following dynamic configurations.
-
-| Config Key | Value Description | Value Format Example |
-|:----:|:----:|:----:|
-|agent-analyzer.default.slowDBAccessThreshold| Thresholds of slow Database 
statement. Overrides `receiver-trace/default/slowDBAccessThreshold` of 
`application.yml`. | default:200,mongodb:50|
-|agent-analyzer.default.uninstrumentedGateways| The uninstrumented gateways. 
Overrides `gateways.yml`. | Same as 
[`gateways.yml`](uninstrumented-gateways.md#configuration-format). |
-|alarm.default.alarm-settings| The alarm settings. Overrides 
`alarm-settings.yml`. | Same as [`alarm-settings.yml`](backend-alarm.md). |
-|core.default.apdexThreshold| The apdex threshold settings. Overrides 
`service-apdex-threshold.yml`. | Same as 
[`service-apdex-threshold.yml`](apdex-threshold.md). |
-|core.default.endpoint-name-grouping| The endpoint name grouping setting. 
Overrides `endpoint-name-grouping.yml`. | Same as 
[`endpoint-name-grouping.yml`](endpoint-grouping-rules.md). |
-|core.default.log4j-xml| The log4j xml configuration. Overrides `log4j2.xml`. 
| Same as [`log4j2.xml`](dynamical-logging.md). |
-|agent-analyzer.default.sampleRate| Trace sampling. Overrides 
`receiver-trace/default/sampleRate` of `application.yml`. | 10000 |
-|agent-analyzer.default.slowTraceSegmentThreshold| Setting this threshold on 
latency (in milliseconds) would cause slow trace segments to be sampled if they 
use up more time, even if the sampling mechanism is activated. The default 
value is `-1`, which means slow traces will not be sampled. Overrides 
`receiver-trace/default/slowTraceSegmentThreshold` of `application.yml`. | -1 |
-|configuration-discovery.default.agentConfigurations| The 
ConfigurationDiscovery settings. | See 
[`configuration-discovery.md`](../service-agent/java-agent/configuration-discovery.md).
 |
+Currently, SkyWalking supports the 2 types of dynamic configurations: Single 
and Group.
 
 This feature depends on upstream service, so it is **DISABLED** by default.
 
@@ -29,122 +17,52 @@ configuration:
     period: ${SW_DCS_PERIOD:20}
   # ... other implementations
 ```
-
-## Dynamic Configuration Service, DCS
-[Dynamic Configuration 
Service](../../../../oap-server/server-configuration/grpc-configuration-sync/src/main/proto/configuration-service.proto)
 
-is a gRPC service which requires implementation of the upstream system.
-The SkyWalking OAP fetches the configuration from the implementation (any 
system), after you open the implementation like this:
-
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:grpc}
-  grpc:
-    host: ${SW_DCS_SERVER_HOST:""}
-    port: ${SW_DCS_SERVER_PORT:80}
-    clusterName: ${SW_DCS_CLUSTER_NAME:SkyWalking}
-    period: ${SW_DCS_PERIOD:20}
+## Single Configuration
+Single Configuration is a config key that corresponds to a specific config 
value. The logic structure is:
 ```
-
-## Dynamic Configuration Zookeeper Implementation
-[Zookeeper](https://github.com/apache/zookeeper) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
-
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:zookeeper}
-  zookeeper:
-    period: ${SW_CONFIG_ZK_PERIOD:60} # Unit seconds, sync period. Default 
fetch every 60 seconds.
-    nameSpace: ${SW_CONFIG_ZK_NAMESPACE:/default}
-    hostPort: ${SW_CONFIG_ZK_HOST_PORT:localhost:2181}
-    # Retry Policy
-    baseSleepTimeMs: ${SW_CONFIG_ZK_BASE_SLEEP_TIME_MS:1000} # initial amount 
of time to wait between retries
-    maxRetries: ${SW_CONFIG_ZK_MAX_RETRIES:3} # max number of times to retry
+{configKey}:{configVaule}
 ```
-
-The **nameSpace** is the ZooKeeper path. The config key and value are the 
properties of the `namespace` folder.
-
-## Dynamic Configuration Etcd Implementation
-
-[Etcd](https://github.com/etcd-io/etcd) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
-
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:etcd}
-  etcd:
-    period: ${SW_CONFIG_ETCD_PERIOD:60} # Unit seconds, sync period. Default 
fetch every 60 seconds.
-    endpoints: ${SW_CONFIG_ETCD_ENDPOINTS:localhost:2379}
-    namespace: ${SW_CONFIG_ETCD_NAMESPACE:/skywalking}
-    authentication: ${SW_CONFIG_ETCD_AUTHENTICATION:false}
-    user: ${SW_CONFIG_ETCD_USER:}
-    password: ${SW_CONFIG_ETCD_password:}
+For example:
 ```
-
-**NOTE**: Only the v3 protocol is supported since 8.7.0. 
-
-## Dynamic Configuration Consul Implementation
-
-[Consul](https://github.com/rickfast/consul-client) is also supported as 
Dynamic Configuration Center (DCC). To use it, please configure as follows:
-
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:consul}
-  consul:
-    # Consul host and ports, separated by comma, e.g. 1.2.3.4:8500,2.3.4.5:8500
-    hostAndPorts: ${SW_CONFIG_CONSUL_HOST_AND_PORTS:1.2.3.4:8500}
-    # Sync period in seconds. Defaults to 60 seconds.
-    period: ${SW_CONFIG_CONSUL_PERIOD:1}
-    # Consul aclToken
-    aclToken: ${SW_CONFIG_CONSUL_ACL_TOKEN:""}
+{agent-analyzer.default.slowDBAccessThreshold}:{default:200,mongodb:50}
 ```
+Supported configurations are as follows:
 
-## Dynamic Configuration Apollo Implementation
-
-[Apollo](https://github.com/ctripcorp/apollo/) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
+| Config Key | Value Description | Value Format Example |
+|:----:|:----:|:----:|
+|agent-analyzer.default.slowDBAccessThreshold| Thresholds of slow Database 
statement. Overrides `receiver-trace/default/slowDBAccessThreshold` of 
`application.yml`. | default:200,mongodb:50|
+|agent-analyzer.default.uninstrumentedGateways| The uninstrumented gateways. 
Overrides `gateways.yml`. | Same as 
[`gateways.yml`](uninstrumented-gateways.md#configuration-format). |
+|alarm.default.alarm-settings| The alarm settings. Overrides 
`alarm-settings.yml`. | Same as [`alarm-settings.yml`](backend-alarm.md). |
+|core.default.apdexThreshold| The apdex threshold settings. Overrides 
`service-apdex-threshold.yml`. | Same as 
[`service-apdex-threshold.yml`](apdex-threshold.md). |
+|core.default.endpoint-name-grouping| The endpoint name grouping setting. 
Overrides `endpoint-name-grouping.yml`. | Same as 
[`endpoint-name-grouping.yml`](endpoint-grouping-rules.md). |
+|core.default.log4j-xml| The log4j xml configuration. Overrides `log4j2.xml`. 
| Same as [`log4j2.xml`](dynamical-logging.md). |
+|agent-analyzer.default.sampleRate| Trace sampling. Overrides 
`receiver-trace/default/sampleRate` of `application.yml`. | 10000 |
+|agent-analyzer.default.slowTraceSegmentThreshold| Setting this threshold on 
latency (in milliseconds) would cause slow trace segments to be sampled if they 
use up more time, even if the sampling mechanism is activated. The default 
value is `-1`, which means slow traces will not be sampled. Overrides 
`receiver-trace/default/slowTraceSegmentThreshold` of `application.yml`. | -1 |
+|configuration-discovery.default.agentConfigurations| The 
ConfigurationDiscovery settings. | See 
[`configuration-discovery.md`](../service-agent/java-agent/configuration-discovery.md).
 |
 
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:apollo}
-  apollo:
-    apolloMeta: ${SW_CONFIG_APOLLO:http://106.12.25.204:8080}
-    apolloCluster: ${SW_CONFIG_APOLLO_CLUSTER:default}
-    apolloEnv: ${SW_CONFIG_APOLLO_ENV:""}
-    appId: ${SW_CONFIG_APOLLO_APP_ID:skywalking}
-    period: ${SW_CONFIG_APOLLO_PERIOD:5}
+## Group Configuration
+Single Configuration is a config key that corresponds to a group sub config 
items. A sub config item is a key value pair. The logic structure is:
 ```
-
-## Dynamic Configuration Kuberbetes Configmap Implementation
-
-[configmap](https://kubernetes.io/docs/concepts/configuration/configmap/) is 
also supported as Dynamic Configuration Center (DCC). To use it, please 
configure as follows:
-
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:k8s-configmap}
-  # [example] 
(../../../../oap-server/server-configuration/configuration-k8s-configmap/src/test/resources/skywalking-dynamic-configmap.example.yaml)
-  k8s-configmap:
-      # Sync period in seconds. Defaults to 60 seconds.
-      period: ${SW_CONFIG_CONFIGMAP_PERIOD:60}
-      # Which namespace is confiigmap deployed in.
-      namespace: ${SW_CLUSTER_K8S_NAMESPACE:default}
-      # Labelselector is used to locate specific configmap
-      labelSelector: ${SW_CLUSTER_K8S_LABEL:app=collector,release=skywalking}
+{configKey}: |{subItemkey1}:{subItemValue1}
+             |{subItemkey2}:{subItemValue2}
+             |{subItemkey3}:{subItemValue3}
+             ...      
+```
+For example:
+```
+{core.default.endpoint-name-grouping-openapi}:|{customerAPI-v1}:{value of 
customerAPI-v1}
+                                              |{productAPI-v1}:{value of 
productAPI-v1}
+                                              |{productAPI-v2}:{value of 
productAPI-v2}
+                                              
 ```
-## Dynamic Configuration Nacos Implementation
+Supported configurations are as follows:
 
-[Nacos](https://github.com/alibaba/nacos) is also supported as Dynamic 
Configuration Center (DCC). To use it, please configure as follows:
+## Dynamic Configuration Implementations
+- [Dynamic Configuration Service, DCS](./dynamic-config-service.md)
+- [Zookeeper Implementation](./dynamic-config-zookeeper.md)
+- [Etcd Implementation](./dynamic-config-etcd.md)
+- [Consul Implementation](./dynamic-config-consul.md)
+- [Apollo Implementation](./dynamic-config-apollo.md)
+- [Kuberbetes Configmap Implementation](./dynamic-config-configmap.md)
+- [Nacos Implementation](./dynamic-config-nacos.md)
 
-```yaml
-configuration:
-  selector: ${SW_CONFIGURATION:nacos}
-  nacos:
-    # Nacos Server Host
-    serverAddr: ${SW_CONFIG_NACOS_SERVER_ADDR:127.0.0.1}
-    # Nacos Server Port
-    port: ${SW_CONFIG_NACOS_SERVER_PORT:8848}
-    # Nacos Configuration Group
-    group: ${SW_CONFIG_NACOS_SERVER_GROUP:skywalking}
-    # Nacos Configuration namespace
-    namespace: ${SW_CONFIG_NACOS_SERVER_NAMESPACE:}
-    # Unit seconds, sync period. Default fetch every 60 seconds.
-    period: ${SW_CONFIG_NACOS_PERIOD:60}
-    # the name of current cluster, set the name if you want to upstream system 
known.
-    clusterName: ${SW_CONFIG_NACOS_CLUSTER_NAME:default}
-```

Reply via email to