aboutsummaryrefslogtreecommitdiffstats
path: root/vespa-athenz
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-04-26 17:17:20 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2018-04-26 17:36:38 +0200
commit0b47d31a315b005a9938feb97c660e2bc7fcda03 (patch)
tree0083da1b9aaed12de317894f31540b02d80acc33 /vespa-athenz
parent6edcf30c6fbb9ae2add61215b01c2d6521a2049a (diff)
Use separate types for tenant and vespa identity providers
- Add ServiceIdentityProvider - Remove AthenzSslContextProvider - Change SiaIdentityProvider to implement ServiceIdentityProvider - Change AthenzIdentityProviderImpl to implement both ServiceIdentityProvider and AthenzIdentityProvider - Stop using AthenzIdentityProvider for internal use
Diffstat (limited to 'vespa-athenz')
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/ServiceIdentityProvider.java18
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java12
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzIdentityProviderImpl.java19
3 files changed, 32 insertions, 17 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/ServiceIdentityProvider.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/ServiceIdentityProvider.java
new file mode 100644
index 00000000000..6b318fb16be
--- /dev/null
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/ServiceIdentityProvider.java
@@ -0,0 +1,18 @@
+// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.athenz.identity;
+
+import com.yahoo.container.jdisc.athenz.AthenzIdentityProvider;
+import com.yahoo.vespa.athenz.api.AthenzService;
+
+import javax.net.ssl.SSLContext;
+
+/**
+ * A interface for types that provides a service identity.
+ * Some similarities to {@link AthenzIdentityProvider}, but this type is not public api and intended for internal use.
+ *
+ * @author bjorncs
+ */
+public interface ServiceIdentityProvider {
+ AthenzService identity();
+ SSLContext getIdentitySslContext();
+}
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java
index 437da05dfdd..161438e2bbe 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identity/SiaIdentityProvider.java
@@ -3,7 +3,6 @@ package com.yahoo.vespa.athenz.identity;
import com.google.inject.Inject;
import com.yahoo.component.AbstractComponent;
-import com.yahoo.container.jdisc.athenz.AthenzIdentityProvider;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.athenz.api.AthenzService;
import com.yahoo.vespa.athenz.tls.KeyStoreType;
@@ -27,7 +26,7 @@ import java.util.logging.Logger;
* @author mortent
* @author bjorncs
*/
-public class SiaIdentityProvider extends AbstractComponent implements AthenzIdentityProvider {
+public class SiaIdentityProvider extends AbstractComponent implements ServiceIdentityProvider {
private static final Logger log = Logger.getLogger(SiaIdentityProvider.class.getName());
@@ -83,13 +82,8 @@ public class SiaIdentityProvider extends AbstractComponent implements AthenzIden
}
@Override
- public String getDomain() {
- return service.getDomain().getName();
- }
-
- @Override
- public String getService() {
- return service.getName();
+ public AthenzService identity() {
+ return service;
}
@Override
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzIdentityProviderImpl.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzIdentityProviderImpl.java
index e41eab025d5..fc15442be84 100644
--- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzIdentityProviderImpl.java
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/client/AthenzIdentityProviderImpl.java
@@ -8,7 +8,7 @@ import com.yahoo.container.jdisc.athenz.AthenzIdentityProvider;
import com.yahoo.container.jdisc.athenz.AthenzIdentityProviderException;
import com.yahoo.jdisc.Metric;
import com.yahoo.log.LogLevel;
-import com.yahoo.vespa.athenz.api.AthenzIdentityCertificate;
+import com.yahoo.vespa.athenz.identity.ServiceIdentityProvider;
import com.yahoo.vespa.athenz.tls.SslContextBuilder;
import com.yahoo.vespa.defaults.Defaults;
@@ -28,7 +28,7 @@ import static com.yahoo.vespa.athenz.tls.KeyStoreType.JKS;
* @author mortent
* @author bjorncs
*/
-public final class AthenzIdentityProviderImpl extends AbstractComponent implements AthenzIdentityProvider {
+public final class AthenzIdentityProviderImpl extends AbstractComponent implements AthenzIdentityProvider, ServiceIdentityProvider {
private static final Logger log = Logger.getLogger(AthenzIdentityProviderImpl.class.getName());
@@ -44,8 +44,7 @@ public final class AthenzIdentityProviderImpl extends AbstractComponent implemen
private final AthenzCredentialsService athenzCredentialsService;
private final ScheduledExecutorService scheduler;
private final Clock clock;
- private final String domain;
- private final String service;
+ private final com.yahoo.vespa.athenz.api.AthenzService identity;
@Inject
public AthenzIdentityProviderImpl(IdentityConfig config, Metric metric) {
@@ -69,8 +68,7 @@ public final class AthenzIdentityProviderImpl extends AbstractComponent implemen
this.athenzCredentialsService = athenzCredentialsService;
this.scheduler = scheduler;
this.clock = clock;
- this.domain = config.domain();
- this.service = config.service();
+ this.identity = new com.yahoo.vespa.athenz.api.AthenzService(config.domain(), config.service());
registerInstance();
}
@@ -85,13 +83,18 @@ public final class AthenzIdentityProviderImpl extends AbstractComponent implemen
}
@Override
+ public com.yahoo.vespa.athenz.api.AthenzService identity() {
+ return identity;
+ }
+
+ @Override
public String getDomain() {
- return domain;
+ return identity.getDomain().getName();
}
@Override
public String getService() {
- return service;
+ return identity.getName();
}
@Override