提交 5fba9190 编写于 作者: W web-xiaxia 提交者: Daming

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
上级 568c2e53
...@@ -37,6 +37,8 @@ cluster: ...@@ -37,6 +37,8 @@ cluster:
# serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_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 # 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} # hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
# # Consul aclToken
# #aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN}
# nacos: # nacos:
# serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"} # serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
# hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848} # hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848}
...@@ -210,6 +212,8 @@ configuration: ...@@ -210,6 +212,8 @@ configuration:
# hostAndPorts: ${consul.address} # hostAndPorts: ${consul.address}
# # Sync period in seconds. Defaults to 60 seconds. # # Sync period in seconds. Defaults to 60 seconds.
# period: 1 # period: 1
# # Consul aclToken
# #aclToken: ${consul.aclToken}
#exporter: #exporter:
# grpc: # grpc:
......
...@@ -87,6 +87,8 @@ cluster: ...@@ -87,6 +87,8 @@ cluster:
serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_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 # 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} hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
# aclToken of connection consul (optional)
aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN}
``` ```
Same as Zookeeper coordinator, Same as Zookeeper coordinator,
......
...@@ -109,6 +109,8 @@ configuration: ...@@ -109,6 +109,8 @@ configuration:
hostAndPorts: 127.0.0.1:8500 hostAndPorts: 127.0.0.1:8500
# Sync period in seconds. Defaults to 60 seconds. # Sync period in seconds. Defaults to 60 seconds.
period: 60 period: 60
# aclToken of connection consul (optional)
aclToken: ${consul.aclToken}
``` ```
......
...@@ -36,6 +36,8 @@ cluster: ...@@ -36,6 +36,8 @@ cluster:
# serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_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 # 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} # hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
# # Consul aclToken
# #aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN}
# nacos: # nacos:
# serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"} # serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
# # Nacos Configuration namespace # # Nacos Configuration namespace
...@@ -223,6 +225,8 @@ configuration: ...@@ -223,6 +225,8 @@ configuration:
# hostAndPorts: ${consul.address} # hostAndPorts: ${consul.address}
# # Sync period in seconds. Defaults to 60 seconds. # # Sync period in seconds. Defaults to 60 seconds.
# period: 1 # period: 1
# # Consul aclToken
# #aclToken: ${consul.aclToken}
#exporter: #exporter:
# grpc: # grpc:
......
...@@ -28,5 +28,6 @@ class ClusterModuleConsulConfig extends ModuleConfig { ...@@ -28,5 +28,6 @@ class ClusterModuleConsulConfig extends ModuleConfig {
@Setter @Getter private String serviceName; @Setter @Getter private String serviceName;
@Setter @Getter private String hostPort; @Setter @Getter private String hostPort;
@Setter @Getter private String internalComHost; @Setter @Getter private String internalComHost;
@Getter @Setter private String aclToken;
@Setter @Getter private int internalComPort = -1; @Setter @Getter private int internalComPort = -1;
} }
...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.cluster.plugin.consul; ...@@ -21,6 +21,7 @@ package org.apache.skywalking.oap.server.cluster.plugin.consul;
import com.google.common.net.HostAndPort; import com.google.common.net.HostAndPort;
import com.orbitz.consul.Consul; import com.orbitz.consul.Consul;
import com.orbitz.consul.ConsulException; 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.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule; import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery; import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
...@@ -76,6 +77,10 @@ public class ClusterModuleConsulProvider extends ModuleProvider { ...@@ -76,6 +77,10 @@ public class ClusterModuleConsulProvider extends ModuleProvider {
// we should set this value or it will be blocked forever // we should set this value or it will be blocked forever
.withConnectTimeoutMillis(3000); .withConnectTimeoutMillis(3000);
if (StringUtils.isNotEmpty(config.getAclToken())) {
consulBuilder.withAclToken(config.getAclToken());
}
if (hostAndPorts.size() > 1) { if (hostAndPorts.size() > 1) {
client = consulBuilder.withMultipleHostAndPort(hostAndPorts, 5000).build(); client = consulBuilder.withMultipleHostAndPort(hostAndPorts, 5000).build();
} else { } else {
......
...@@ -33,4 +33,8 @@ public class ConsulConfigurationCenterSettings extends ModuleConfig { ...@@ -33,4 +33,8 @@ public class ConsulConfigurationCenterSettings extends ModuleConfig {
@Getter @Getter
@Setter @Setter
private String hostAndPorts; private String hostAndPorts;
@Getter
@Setter
private String aclToken;
} }
...@@ -32,6 +32,7 @@ import com.orbitz.consul.Consul; ...@@ -32,6 +32,7 @@ import com.orbitz.consul.Consul;
import com.orbitz.consul.KeyValueClient; import com.orbitz.consul.KeyValueClient;
import com.orbitz.consul.cache.KVCache; import com.orbitz.consul.cache.KVCache;
import com.orbitz.consul.model.kv.Value; 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.ConfigTable;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister; import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -70,6 +71,10 @@ public class ConsulConfigurationWatcherRegister extends ConfigWatcherRegister { ...@@ -70,6 +71,10 @@ public class ConsulConfigurationWatcherRegister extends ConfigWatcherRegister {
builder.withMultipleHostAndPort(hostAndPorts, 5000); builder.withMultipleHostAndPort(hostAndPorts, 5000);
} }
if (StringUtils.isNotEmpty(settings.getAclToken())) {
builder.withAclToken(settings.getAclToken());
}
consul = builder.build().keyValueClient(); consul = builder.build().keyValueClient();
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册