diff options
author | jonmv <venstad@gmail.com> | 2024-06-26 17:11:05 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2024-06-26 17:11:05 +0200 |
commit | 5e5c545bdb69a164c3fd22b16d4cd81d980fe552 (patch) | |
tree | 5410bca4d777db14a5e4ee5fd7bb9450b17f0776 /config-model-api/src/main/java/com | |
parent | 32e2be2707c357bf34d77d980d500e76922e8be6 (diff) |
Allow private endpoints (and no publics) in dev and perf
Diffstat (limited to 'config-model-api/src/main/java/com')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java | 2 | ||||
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java index c04874f2b16..6ce08250649 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java @@ -288,7 +288,7 @@ public class DeploymentInstanceSpec extends DeploymentSpec.Steps { /** Returns whether this instance deploys to the given zone, either implicitly or explicitly */ public boolean deploysTo(Environment environment, RegionName region) { - return zones().stream().anyMatch(zone -> zone.concerns(environment, Optional.of(region))); + return zones().stream().anyMatch(zone -> zone.concerns(environment, Optional.ofNullable(region))); } /** Returns the zone endpoint specified for the given region, or empty. */ diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java index fdaa7d57074..2ab7c128046 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java @@ -223,11 +223,16 @@ public class DeploymentSpec { * 5. None of the above apply, and the default of a publicly visible endpoint is used. */ public ZoneEndpoint zoneEndpoint(InstanceName instance, ZoneId zone, ClusterSpec.Id cluster) { - // TODO: look up endpoints from <dev> tag, or so, if we're to support non-prod settings. if ( zone.environment().isTest() && instances().stream() .anyMatch(spec -> spec.zoneEndpoints().getOrDefault(cluster, Map.of()).values().stream() .anyMatch(endpoint -> ! endpoint.isPublicEndpoint()))) return ZoneEndpoint.privateEndpoint; + + if (zone.environment().isManuallyDeployed()) + return instance(instance).filter(spec -> spec.deploysTo(zone.environment(), zone.region())) + .map(spec -> spec.zoneEndpoints().getOrDefault(cluster, Map.of()).get(null)) + .orElse(ZoneEndpoint.defaultEndpoint); + if (zone.environment() != Environment.prod) return ZoneEndpoint.defaultEndpoint; return instance(instance).flatMap(spec -> spec.zoneEndpoint(zone, cluster)) .orElse(ZoneEndpoint.defaultEndpoint); |