summaryrefslogtreecommitdiffstats
path: root/athenz-identity-provider-service
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-05-28 15:52:31 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2018-05-28 15:52:31 +0200
commit33570370d83a1c72ca502e2e336242a5e30b0357 (patch)
treee62f33c8fd7b0c7ebd597b8ade246befdf83b138 /athenz-identity-provider-service
parent96b6be30bb0623abbd152b5fd8e264cf62cf5d4d (diff)
Accept identity documents for tenant Docker containers
Diffstat (limited to 'athenz-identity-provider-service')
-rw-r--r--athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/instanceconfirmation/InstanceValidator.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/instanceconfirmation/InstanceValidator.java b/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/instanceconfirmation/InstanceValidator.java
index 5f330dc01bf..e457df37946 100644
--- a/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/instanceconfirmation/InstanceValidator.java
+++ b/athenz-identity-provider-service/src/main/java/com/yahoo/vespa/hosted/athenz/instanceproviderservice/instanceconfirmation/InstanceValidator.java
@@ -7,6 +7,7 @@ import com.yahoo.config.model.api.ServiceInfo;
import com.yahoo.config.model.api.SuperModelProvider;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.log.LogLevel;
+import com.yahoo.vespa.athenz.api.AthenzService;
import com.yahoo.vespa.athenz.identityprovider.api.EntityBindingsMapper;
import com.yahoo.vespa.athenz.identityprovider.api.SignedIdentityDocument;
import com.yahoo.vespa.athenz.identityprovider.api.VespaUniqueInstanceId;
@@ -29,6 +30,7 @@ import java.util.logging.Logger;
*/
public class InstanceValidator {
+ private static final AthenzService TENANT_DOCKER_CONTAINER_IDENTITY = new AthenzService("vespa.vespa.tenant");
private static final Logger log = Logger.getLogger(InstanceValidator.class.getName());
static final String SERVICE_PROPERTIES_DOMAIN_KEY = "identity.domain";
static final String SERVICE_PROPERTIES_SERVICE_KEY = "identity.service";
@@ -81,6 +83,7 @@ public class InstanceValidator {
// If/when we dont care about logging exactly whats wrong, this can be simplified
boolean isSameIdentityAsInServicesXml(ApplicationId applicationId, String domain, String service) {
+
Optional<ApplicationInfo> applicationInfo = superModelProvider.getSuperModel().getApplicationInfo(applicationId);
if (!applicationInfo.isPresent()) {
@@ -88,6 +91,10 @@ public class InstanceValidator {
return false;
}
+ if (TENANT_DOCKER_CONTAINER_IDENTITY.equals(new AthenzService(domain, service))) {
+ return true;
+ }
+
Optional<ServiceInfo> matchingServiceInfo = applicationInfo.get()
.getModel()
.getHosts()