diff options
2 files changed, 72 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java index 0bdc3fbef9a..5e0dde6161d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java @@ -75,6 +75,7 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat addSimpleComponent("com.yahoo.container.jdisc.SecretStoreProvider"); addSimpleComponent("com.yahoo.container.jdisc.DeprecatedSecretStoreProvider"); addSimpleComponent("com.yahoo.container.jdisc.CertificateStoreProvider"); + addSimpleComponent("com.yahoo.container.jdisc.AthenzIdentityProviderProvider"); addTestrunnerComponentsIfTester(deployState); } diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/AthenzIdentityProviderProvider.java b/container-disc/src/main/java/com/yahoo/container/jdisc/AthenzIdentityProviderProvider.java new file mode 100644 index 00000000000..9045db3eda5 --- /dev/null +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/AthenzIdentityProviderProvider.java @@ -0,0 +1,71 @@ +// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.container.jdisc; + +import com.yahoo.container.di.componentgraph.Provider; +import com.yahoo.container.jdisc.athenz.AthenzIdentityProvider; + +import javax.net.ssl.SSLContext; +import java.security.PrivateKey; +import java.security.cert.X509Certificate; +import java.util.List; + +/** + * @author mortent + */ +public class AthenzIdentityProviderProvider implements Provider<AthenzIdentityProvider> { + private static final ThrowingAthenzIdentityProvider instance = new ThrowingAthenzIdentityProvider(); + + @Override + public AthenzIdentityProvider get() { + return instance; + } + + @Override + public void deconstruct() { + } + + private static final class ThrowingAthenzIdentityProvider implements AthenzIdentityProvider { + + private static final String message = "AthenzIdentityProvider not available"; + + @Override + public String domain() { + throw new UnsupportedOperationException(message); + } + + @Override + public String service() { + throw new UnsupportedOperationException(message); + } + + @Override + public SSLContext getIdentitySslContext() { + throw new UnsupportedOperationException(message); + } + + @Override + public SSLContext getRoleSslContext(String domain, String role) { + throw new UnsupportedOperationException(message); + } + + @Override + public String getRoleToken(String domain) { + throw new UnsupportedOperationException(message); + } + + @Override + public String getRoleToken(String domain, String role) { + throw new UnsupportedOperationException(message); + } + + @Override + public List<X509Certificate> getIdentityCertificate() { + throw new UnsupportedOperationException(message); + } + + @Override + public PrivateKey getPrivateKey() { + throw new UnsupportedOperationException(message); + } + } +} |