diff options
author | Martin Polden <mpolden@mpolden.no> | 2023-09-25 10:11:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-25 10:11:27 +0200 |
commit | aa5339c14efe3d4550c7a8a299039f866a02b948 (patch) | |
tree | e5a51c3931b22b77e79b253a0aab3127a03f5e60 /config-model-api | |
parent | 2f9bf822d9817a24ef070b7e69e3cbc429d43338 (diff) | |
parent | 9cb5024db5351c01f4ada6d6c6f9a0ab21c975b1 (diff) |
Merge pull request #28639 from vespa-engine/mpolden/remove-duplicate-endpoint-building
Remove unused endpoint name building from config-model
Diffstat (limited to 'config-model-api')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java | 75 |
1 files changed, 3 insertions, 72 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java index 69749ee6f96..215439aa42a 100644 --- a/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java +++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ApplicationClusterEndpoint.java @@ -2,15 +2,8 @@ package com.yahoo.config.model.api; -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.SystemName; - import java.util.List; import java.util.Objects; -import java.util.Optional; -import java.util.stream.Collectors; -import java.util.stream.Stream; /** * Represents one endpoint for an application cluster @@ -154,83 +147,21 @@ public class ApplicationClusterEndpoint { } - public static class DnsName implements Comparable<DnsName> { - - private static final int MAX_LABEL_LENGTH = 63; - - private final String name; - - private DnsName(String name) { - this.name = name; - } + public record DnsName(String name) implements Comparable<DnsName> { public String value() { return name; } - public static DnsName sharedNameFrom(SystemName systemName, ClusterSpec.Id cluster, ApplicationId applicationId, String suffix) { - String name = dnsParts(systemName, cluster, applicationId) - .filter(Objects::nonNull) // remove null values that were "default" - .collect(Collectors.joining("--")); - return new DnsName(sanitize(name) + suffix); // Need to sanitize name since it is considered one label - } - - public static DnsName sharedL4NameFrom(SystemName systemName, ClusterSpec.Id cluster, ApplicationId applicationId, String suffix) { - String name = dnsParts(systemName, cluster, applicationId) - .filter(Objects::nonNull) // remove null values that were "default" - .map(DnsName::sanitize) - .collect(Collectors.joining(".")); - return new DnsName(name + suffix); - } - public static DnsName from(String name) { return new DnsName(name); } - private static Stream<String> dnsParts(SystemName systemName, ClusterSpec.Id cluster, ApplicationId applicationId) { - return Stream.of( - nullIfDefault(cluster.value()), - systemPart(systemName), - nullIfDefault(applicationId.instance().value()), - applicationId.application().value(), - applicationId.tenant().value() - ); - } - - /** - * Remove any invalid characters from the hostnames - */ - private static String sanitize(String id) { - return shortenIfNeeded(id.toLowerCase() - .replace('_', '-') - .replaceAll("[^a-z0-9-]*", "")); - } - - /** - * Truncate the given string at the front so its length does not exceed 63 characters. - */ - private static String shortenIfNeeded(String id) { - return id.substring(Math.max(0, id.length() - MAX_LABEL_LENGTH)); - } - - private static String nullIfDefault(String string) { - return Optional.of(string).filter(s -> !s.equals("default")).orElse(null); - } - - private static String systemPart(SystemName systemName) { - return "cd".equals(systemName.value()) ? systemName.value() : null; - } - - @Override - public String toString() { - return "DnsName{" + - "name='" + name + '\'' + - '}'; - } - @Override public int compareTo(DnsName o) { return name.compareTo(o.name); } + } + } |