aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java57
1 files changed, 5 insertions, 52 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java
index 5f0cb595fb5..93243f8b8ed 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/component/ConfigServerInfo.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.node.admin.component;
import com.google.common.base.Strings;
import com.yahoo.vespa.athenz.api.AthenzIdentity;
import com.yahoo.vespa.athenz.api.AthenzService;
+import com.yahoo.vespa.athenz.utils.AthenzIdentities;
import com.yahoo.vespa.hosted.node.admin.config.ConfigServerConfig;
import com.yahoo.vespa.hosted.node.admin.util.KeyStoreOptions;
@@ -27,10 +28,7 @@ public class ConfigServerInfo {
private final List<String> configServerHostNames;
private final URI loadBalancerEndpoint;
private final Map<String, URI> configServerURIs;
- private final Optional<KeyStoreOptions> keyStoreOptions;
- private final Optional<KeyStoreOptions> trustStoreOptions;
- private final Optional<AthenzIdentity> athenzIdentity;
- private final Optional<ConfigServerConfig.Sia> siaConfig;
+ private final AthenzService configServerIdentity;
public ConfigServerInfo(ConfigServerConfig config) {
this.configServerHostNames = config.hosts();
@@ -39,18 +37,7 @@ public class ConfigServerInfo {
config.hosts(),
config.port());
this.loadBalancerEndpoint = createLoadBalancerEndpoint(config.loadBalancerHost(), config.scheme(), config.port());
- this.keyStoreOptions = createKeyStoreOptions(
- config.keyStoreConfig().path(),
- config.keyStoreConfig().password().toCharArray(),
- config.keyStoreConfig().type().name());
- this.trustStoreOptions = createKeyStoreOptions(
- config.trustStoreConfig().path(),
- config.trustStoreConfig().password().toCharArray(),
- config.trustStoreConfig().type().name());
- this.athenzIdentity = createAthenzIdentity(
- config.athenzDomain(),
- config.serviceName());
- this.siaConfig = verifySiaConfig(config.sia());
+ this.configServerIdentity = (AthenzService) AthenzIdentities.from(config.configserverAthenzIdentity());
}
private static URI createLoadBalancerEndpoint(String loadBalancerHost, String scheme, int port) {
@@ -78,20 +65,8 @@ public class ConfigServerInfo {
return loadBalancerEndpoint;
}
- public Optional<KeyStoreOptions> getKeyStoreOptions() {
- return keyStoreOptions;
- }
-
- public Optional<KeyStoreOptions> getTrustStoreOptions() {
- return trustStoreOptions;
- }
-
- public Optional<AthenzIdentity> getAthenzIdentity() {
- return athenzIdentity;
- }
-
- public Optional<ConfigServerConfig.Sia> getSiaConfig() {
- return siaConfig;
+ public AthenzService getConfigServerIdentity() {
+ return configServerIdentity;
}
private static Map<String, URI> createConfigServerUris(
@@ -103,26 +78,4 @@ public class ConfigServerInfo {
hostname -> URI.create(scheme + "://" + hostname + ":" + port)));
}
- private static Optional<ConfigServerConfig.Sia> verifySiaConfig(ConfigServerConfig.Sia sia) {
- List<String> configParams = Arrays.asList(
- sia.credentialsPath(), sia.configserverIdentityName(), sia.hostIdentityName(), sia.trustStoreFile());
- if (configParams.stream().allMatch(String::isEmpty)) {
- return Optional.empty();
- } else if (configParams.stream().noneMatch(String::isEmpty)) {
- return Optional.of(sia);
- } else {
- throw new IllegalArgumentException("Inconsistent sia config: " + sia);
- }
- }
-
- private static Optional<KeyStoreOptions> createKeyStoreOptions(String pathToKeyStore, char[] password, String type) {
- return Optional.ofNullable(pathToKeyStore)
- .filter(path -> !Strings.isNullOrEmpty(path))
- .map(path -> new KeyStoreOptions(Paths.get(path), password, type));
- }
-
- private static Optional<AthenzIdentity> createAthenzIdentity(String athenzDomain, String serviceName) {
- if (Strings.isNullOrEmpty(athenzDomain) || Strings.isNullOrEmpty(serviceName)) return Optional.empty();
- return Optional.of(new AthenzService(athenzDomain, serviceName));
- }
}