提交 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:
# 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:
......
......@@ -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,
......
......@@ -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}
```
......
......@@ -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:
......
......@@ -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;
}
......@@ -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 {
......
......@@ -33,4 +33,8 @@ public class ConsulConfigurationCenterSettings extends ModuleConfig {
@Getter
@Setter
private String hostAndPorts;
@Getter
@Setter
private String aclToken;
}
......@@ -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();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册