You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by da...@apache.org on 2020/01/02 12:05:29 UTC

[skywalking] branch master updated: add Dynamic Configuration Consul AclToken (#4161)

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

daming 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 5fba919  add Dynamic Configuration Consul AclToken  (#4161)
5fba919 is described below

commit 5fba91901fe90865e2ad751d36e90a9fa2c70b7c
Author: web-xiaxia <xi...@vip.qq.com>
AuthorDate: Thu Jan 2 20:05:16 2020 +0800

    add Dynamic Configuration Consul AclToken  (#4161)
    
    * Update ConsulConfigurationCenterSettings.java
    
    add aclTokne
    
    * Update ConsulConfigurationWatcherRegister.java
    
    add aclToken
    
    * Update application.yml
    
    add aclToken
    
    * Update ConsulConfigurationCenterSettings.java
    
    add aclToken
    
    * Update application.yml
    
    add aclToken
    
    * add aclToken
    
    * Replace with util
    
    * Replace with util
    
    * add consul aclToken
---
 dist-material/application.yml                                        | 4 ++++
 docs/en/setup/backend/backend-cluster.md                             | 2 ++
 docs/en/setup/backend/dynamic-config.md                              | 2 ++
 oap-server/server-bootstrap/src/main/resources/application.yml       | 4 ++++
 .../oap/server/cluster/plugin/consul/ClusterModuleConsulConfig.java  | 1 +
 .../server/cluster/plugin/consul/ClusterModuleConsulProvider.java    | 5 +++++
 .../configuration/consul/ConsulConfigurationCenterSettings.java      | 4 ++++
 .../configuration/consul/ConsulConfigurationWatcherRegister.java     | 5 +++++
 8 files changed, 27 insertions(+)

diff --git a/dist-material/application.yml b/dist-material/application.yml
index 9c25498..15763bc 100644
--- a/dist-material/application.yml
+++ b/dist-material/application.yml
@@ -37,6 +37,8 @@ cluster:
 #    serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
 #     Consul cluster nodes, example: 10.0.0.1:8500,10.0.0.2:8500,10.0.0.3:8500
 #    hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
+#    # Consul aclToken
+#    #aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN}
 #  nacos:
 #    serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
 #    hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848}
@@ -210,6 +212,8 @@ configuration:
 #    hostAndPorts: ${consul.address}
 #    # Sync period in seconds. Defaults to 60 seconds.
 #    period: 1
+#    # Consul aclToken
+#    #aclToken: ${consul.aclToken}
 
 #exporter:
 #  grpc:
diff --git a/docs/en/setup/backend/backend-cluster.md b/docs/en/setup/backend/backend-cluster.md
index a2438a1..b184edf 100644
--- a/docs/en/setup/backend/backend-cluster.md
+++ b/docs/en/setup/backend/backend-cluster.md
@@ -87,6 +87,8 @@ cluster:
     serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
     # Consul cluster agents, example, 1. client agent, 127.0.0.1:8500 2. server agent, 10.0.0.1:8500,10.0.0.2:8500,10.0.0.3:8500
     hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
+    # aclToken of connection consul (optional)
+    aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN}
 ```
 
 Same as Zookeeper coordinator,
diff --git a/docs/en/setup/backend/dynamic-config.md b/docs/en/setup/backend/dynamic-config.md
index 3e206d2..dffb658 100755
--- a/docs/en/setup/backend/dynamic-config.md
+++ b/docs/en/setup/backend/dynamic-config.md
@@ -109,6 +109,8 @@ configuration:
     hostAndPorts: 127.0.0.1:8500
     # Sync period in seconds. Defaults to 60 seconds.
     period: 60
+    # aclToken of connection consul (optional)
+    aclToken: ${consul.aclToken}
 ```
 
 
diff --git a/oap-server/server-bootstrap/src/main/resources/application.yml b/oap-server/server-bootstrap/src/main/resources/application.yml
index 9e78870..c2281ff 100755
--- a/oap-server/server-bootstrap/src/main/resources/application.yml
+++ b/oap-server/server-bootstrap/src/main/resources/application.yml
@@ -36,6 +36,8 @@ cluster:
 #    serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
 #     Consul cluster nodes, example: 10.0.0.1:8500,10.0.0.2:8500,10.0.0.3:8500
 #    hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
+#    # Consul aclToken
+#    #aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN}
 #  nacos:
 #    serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
 #    # Nacos Configuration namespace
@@ -223,6 +225,8 @@ configuration:
 #    hostAndPorts: ${consul.address}
 #    # Sync period in seconds. Defaults to 60 seconds.
 #    period: 1
+#    # Consul aclToken
+#    #aclToken: ${consul.aclToken}
 
 #exporter:
 #  grpc:
diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulConfig.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulConfig.java
index bba2c62..866c5ca 100644
--- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulConfig.java
+++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulConfig.java
@@ -28,5 +28,6 @@ class ClusterModuleConsulConfig extends ModuleConfig {
     @Setter @Getter private String serviceName;
     @Setter @Getter private String hostPort;
     @Setter @Getter private String internalComHost;
+    @Getter @Setter private String aclToken;
     @Setter @Getter private int internalComPort = -1;
 }
diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java
index d6fd2cc..7f10bfc 100644
--- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java
+++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java
@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.cluster.plugin.consul;
 import com.google.common.net.HostAndPort;
 import com.orbitz.consul.Consul;
 import com.orbitz.consul.ConsulException;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.skywalking.oap.server.core.CoreModule;
 import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
 import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
@@ -76,6 +77,10 @@ public class ClusterModuleConsulProvider extends ModuleProvider {
 //                    we should set this value or it will be blocked forever
                     .withConnectTimeoutMillis(3000);
 
+            if (StringUtils.isNotEmpty(config.getAclToken())) {
+                consulBuilder.withAclToken(config.getAclToken());
+            }
+
             if (hostAndPorts.size() > 1) {
                 client = consulBuilder.withMultipleHostAndPort(hostAndPorts, 5000).build();
             } else {
diff --git a/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationCenterSettings.java b/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationCenterSettings.java
index b72e376..0bd9af5 100644
--- a/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationCenterSettings.java
+++ b/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationCenterSettings.java
@@ -33,4 +33,8 @@ public class ConsulConfigurationCenterSettings extends ModuleConfig {
     @Getter
     @Setter
     private String hostAndPorts;
+
+    @Getter
+    @Setter
+    private String aclToken;
 }
diff --git a/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegister.java b/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegister.java
index 2e58784..03711c1 100644
--- a/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegister.java
+++ b/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationWatcherRegister.java
@@ -32,6 +32,7 @@ import com.orbitz.consul.Consul;
 import com.orbitz.consul.KeyValueClient;
 import com.orbitz.consul.cache.KVCache;
 import com.orbitz.consul.model.kv.Value;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.skywalking.oap.server.configuration.api.ConfigTable;
 import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
 import org.slf4j.Logger;
@@ -70,6 +71,10 @@ public class ConsulConfigurationWatcherRegister extends ConfigWatcherRegister {
             builder.withMultipleHostAndPort(hostAndPorts, 5000);
         }
 
+        if (StringUtils.isNotEmpty(settings.getAclToken())) {
+            builder.withAclToken(settings.getAclToken());
+        }
+
         consul = builder.build().keyValueClient();
     }