summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index 81e0b48090d..484021ad4d5 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -876,9 +876,14 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
String athenzDnsSuffix,
Zone zone,
DeploymentSpec spec) {
- spec.athenzDomain().ifPresent(domain -> {
- AthenzService service = spec.athenzService(app.getApplicationId().instance(), zone.environment(), zone.region())
- .orElseThrow(() -> new RuntimeException("Missing Athenz service configuration in instance '" + app.getApplicationId().instance() + "'"));
+ spec.instance(app.getApplicationId().instance())
+ .flatMap(instanceSpec -> instanceSpec.athenzDomain())
+ .or(() -> spec.athenzDomain())
+ .ifPresent(domain -> {
+ AthenzService service = spec.instance(app.getApplicationId().instance())
+ .flatMap(instanceSpec -> instanceSpec.athenzService(zone.environment(), zone.region()))
+ .or(() -> spec.athenzService())
+ .orElseThrow(() -> new RuntimeException("Missing Athenz service configuration in instance '" + app.getApplicationId().instance() + "'"));
String zoneDnsSuffix = zone.environment().value() + "-" + zone.region().value() + "." + athenzDnsSuffix;
IdentityProvider identityProvider = new IdentityProvider(domain, service, getLoadBalancerName(loadBalancerName, configServerSpecs), ztsUrl, zoneDnsSuffix, zone);
cluster.addComponent(identityProvider);