aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-08-24 13:51:25 +0200
committerMartin Polden <mpolden@mpolden.no>2023-08-30 11:17:35 +0200
commit773644c6cac7a00aaaef3096ee52d1d87969e998 (patch)
tree16e6ab67ea6237eac7b9c09d7507c625aede3662
parent9edc1f9bc437aa2c231c273337dbcf13e78110ac (diff)
Move AuthMethod to config-provisioning
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/zone/AuthMethod.java14
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java3
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Endpoint.java7
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/GeneratedEndpoint.java3
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java10
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java5
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java6
9 files changed, 33 insertions, 20 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/zone/AuthMethod.java b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/AuthMethod.java
new file mode 100644
index 00000000000..88b8a05c4c6
--- /dev/null
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/AuthMethod.java
@@ -0,0 +1,14 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.config.provision.zone;
+
+/**
+ * An endpoint's authentication method.
+ *
+ * @author mpolden
+ */
+public enum AuthMethod {
+
+ mtls,
+ token,
+
+}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
index bac2c0ab9d7..d10328b01cb 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
@@ -764,7 +764,7 @@ public class ApplicationController {
}
/**
- * Deletes the the given application. All known instances of the applications will be deleted.
+ * Deletes the given application. All known instances of the applications will be deleted.
*
* @throws IllegalArgumentException if the application has deployments or the caller is not authorized
*/
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java
index bceef3fd96f..d1f5d78bcdd 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/RoutingController.java
@@ -10,6 +10,7 @@ import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.zone.AuthMethod;
import com.yahoo.config.provision.zone.RoutingMethod;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.flags.BooleanFlag;
@@ -374,7 +375,7 @@ public class RoutingController {
private List<GeneratedEndpoint> generateEndpoints(String applicationPart) {
- return Arrays.stream(Endpoint.AuthMethod.values())
+ return Arrays.stream(AuthMethod.values())
.map(method -> new GeneratedEndpoint(GeneratedEndpoint.createPart(controller.random(true)),
applicationPart,
method))
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Endpoint.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Endpoint.java
index 1a4095001ff..5f7f59e6cdc 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Endpoint.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/Endpoint.java
@@ -6,6 +6,7 @@ import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.zone.AuthMethod;
import com.yahoo.config.provision.zone.RoutingMethod;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.text.Text;
@@ -405,12 +406,6 @@ public class Endpoint {
}
- /** An endpoint's authentication method */
- public enum AuthMethod {
- mtls,
- token,
- }
-
/** Represents an endpoint's HTTP port */
public record Port(int port) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/GeneratedEndpoint.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/GeneratedEndpoint.java
index dd6f4e5111d..a9d6dcb08f9 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/GeneratedEndpoint.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/GeneratedEndpoint.java
@@ -1,6 +1,7 @@
package com.yahoo.vespa.hosted.controller.application;
import ai.vespa.validation.Validation;
+import com.yahoo.config.provision.zone.AuthMethod;
import java.util.random.RandomGenerator;
import java.util.regex.Pattern;
@@ -11,7 +12,7 @@ import java.util.regex.Pattern;
*
* @author mpolden
*/
-public record GeneratedEndpoint(String clusterPart, String applicationPart, Endpoint.AuthMethod authMethod) {
+public record GeneratedEndpoint(String clusterPart, String applicationPart, AuthMethod authMethod) {
private static final Pattern PART_PATTERN = Pattern.compile("^[a-f][a-f0-9]{7}$");
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
index 5770649c8b7..9bc9403b9d6 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
@@ -4,13 +4,13 @@ package com.yahoo.vespa.hosted.controller.persistence;
import ai.vespa.http.DomainName;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
+import com.yahoo.config.provision.zone.AuthMethod;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.slime.ArrayTraverser;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Inspector;
import com.yahoo.slime.Slime;
import com.yahoo.slime.SlimeUtils;
-import com.yahoo.vespa.hosted.controller.application.Endpoint;
import com.yahoo.vespa.hosted.controller.application.EndpointId;
import com.yahoo.vespa.hosted.controller.application.GeneratedEndpoint;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicy;
@@ -132,17 +132,17 @@ public class RoutingPolicySerializer {
return new RoutingStatus(status, agent, changedAt);
}
- private String authMethod(Endpoint.AuthMethod authMethod) {
+ private String authMethod(AuthMethod authMethod) {
return switch (authMethod) {
case token -> "token";
case mtls -> "mtls";
};
}
- private Endpoint.AuthMethod authMethodFromSlime(Inspector field) {
+ private AuthMethod authMethodFromSlime(Inspector field) {
return switch (field.asString()) {
- case "token" -> Endpoint.AuthMethod.token;
- case "mtls" -> Endpoint.AuthMethod.mtls;
+ case "token" -> AuthMethod.token;
+ case "mtls" -> AuthMethod.mtls;
default -> throw new IllegalArgumentException("Unknown auth method '" + field.asString() + "'");
};
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java
index 0233e7502ef..f8c3bd7cf7c 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicy.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.controller.routing;
import ai.vespa.http.DomainName;
import com.google.common.collect.ImmutableSortedSet;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.zone.AuthMethod;
import com.yahoo.config.provision.zone.RoutingMethod;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.application.Endpoint;
@@ -124,7 +125,7 @@ public record RoutingPolicy(RoutingPolicyId id,
List<Endpoint> endpoints = new ArrayList<>();
endpoints.add(zoneEndpoint);
if (includeTokenEndpoint) {
- Endpoint tokenEndpoint = builder.authMethod(Endpoint.AuthMethod.token).in(system);
+ Endpoint tokenEndpoint = builder.authMethod(AuthMethod.token).in(system);
endpoints.add(tokenEndpoint);
}
for (var generatedEndpoint : generatedEndpoints) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java
index 477aca86b9c..cc7a001b0b4 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/EndpointTest.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.controller.application;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.zone.AuthMethod;
import com.yahoo.config.provision.zone.RoutingMethod;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
@@ -269,7 +270,7 @@ public class EndpointTest {
Endpoint.of(instance1)
.targetRegion(ClusterSpec.Id.from("c1"), prodZone)
.routingMethod(RoutingMethod.exclusive)
- .generatedFrom(new GeneratedEndpoint("deadbeef", "cafed00d", Endpoint.AuthMethod.mtls))
+ .generatedFrom(new GeneratedEndpoint("deadbeef", "cafed00d", AuthMethod.mtls))
.on(Port.tls())
.in(SystemName.Public)
);
@@ -353,7 +354,7 @@ public class EndpointTest {
@Test
public void generated_id() {
- GeneratedEndpoint ge = new GeneratedEndpoint("cafed00d", "deadbeef", Endpoint.AuthMethod.mtls);
+ GeneratedEndpoint ge = new GeneratedEndpoint("cafed00d", "deadbeef", AuthMethod.mtls);
var deployment = new DeploymentId(instance1, ZoneId.from("prod", "us-north-1"));
var tests = Map.of(
// Zone endpoint in main, unlike named endpoints, this includes the scope symbol 'z'
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
index f685c75bbe3..d9007910541 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
@@ -4,8 +4,8 @@ package com.yahoo.vespa.hosted.controller.persistence;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostName;
+import com.yahoo.config.provision.zone.AuthMethod;
import com.yahoo.config.provision.zone.ZoneId;
-import com.yahoo.vespa.hosted.controller.application.Endpoint;
import com.yahoo.vespa.hosted.controller.application.EndpointId;
import com.yahoo.vespa.hosted.controller.application.GeneratedEndpoint;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicy;
@@ -47,7 +47,7 @@ public class RoutingPolicySerializerTest {
Set.of(),
RoutingStatus.DEFAULT,
false,
- List.of(new GeneratedEndpoint("deadbeef", "cafed00d", Endpoint.AuthMethod.mtls))),
+ List.of(new GeneratedEndpoint("deadbeef", "cafed00d", AuthMethod.mtls))),
new RoutingPolicy(id2,
Optional.of(HostName.of("long-and-ugly-name-2")),
Optional.empty(),
@@ -58,7 +58,7 @@ public class RoutingPolicySerializerTest {
RoutingStatus.Agent.tenant,
Instant.ofEpochSecond(123)),
true,
- List.of(new GeneratedEndpoint("cafed00d", "deadbeef", Endpoint.AuthMethod.token))),
+ List.of(new GeneratedEndpoint("cafed00d", "deadbeef", AuthMethod.token))),
new RoutingPolicy(id1,
Optional.empty(),
Optional.of("127.0.0.1"),