summaryrefslogtreecommitdiffstats
path: root/clustercontroller-apps
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-02-14 09:45:41 +0100
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-02-14 09:45:54 +0100
commit2bbc49b697aa9636c4121aefd20487a2c16c839a (patch)
tree4ff1905c3aee5071e4176c515fab108b79c0d50b /clustercontroller-apps
parent5bd805e119093ef5a29abe0ccdacceed3a6df777 (diff)
Require capabilities for built-in request handlers
Diffstat (limited to 'clustercontroller-apps')
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StateRestApiV2Handler.java11
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StatusHandler.java7
2 files changed, 14 insertions, 4 deletions
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StateRestApiV2Handler.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StateRestApiV2Handler.java
index 346e58b652f..40fac548a89 100644
--- a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StateRestApiV2Handler.java
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StateRestApiV2Handler.java
@@ -1,9 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.clustercontroller.apps.clustercontroller;
-import com.yahoo.component.annotation.Inject;
import com.yahoo.cloud.config.ClusterInfoConfig;
-import java.util.logging.Level;
+import com.yahoo.component.annotation.Inject;
+import com.yahoo.container.jdisc.RequestView;
+import com.yahoo.container.jdisc.utils.CapabilityRequiringRequestHandler;
+import com.yahoo.security.tls.Capability;
import com.yahoo.vespa.clustercontroller.apputil.communication.http.JDiscHttpRequestHandler;
import com.yahoo.vespa.clustercontroller.core.restapiv2.ClusterControllerStateRestAPI;
import com.yahoo.vespa.clustercontroller.utils.staterestapi.server.RestApiHandler;
@@ -12,9 +14,10 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
+import java.util.logging.Level;
import java.util.logging.Logger;
-public class StateRestApiV2Handler extends JDiscHttpRequestHandler {
+public class StateRestApiV2Handler extends JDiscHttpRequestHandler implements CapabilityRequiringRequestHandler {
private static final Logger log = Logger.getLogger(StateRestApiV2Handler.class.getName());
@@ -25,6 +28,8 @@ public class StateRestApiV2Handler extends JDiscHttpRequestHandler {
this(new ClusterControllerStateRestAPI(cc, getClusterControllerSockets(config)), "/cluster/v2", ctx);
}
+ @Override public Capability requiredCapability(RequestView __) { return Capability.CLUSTER_CONTROLLER__STATE; }
+
private StateRestApiV2Handler(ClusterControllerStateRestAPI restApi, String pathPrefix,
JDiscHttpRequestHandler.Context ctx)
{
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StatusHandler.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StatusHandler.java
index 24d4a67fcac..ee2110ece4e 100644
--- a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StatusHandler.java
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StatusHandler.java
@@ -2,9 +2,12 @@
package com.yahoo.vespa.clustercontroller.apps.clustercontroller;
import com.yahoo.component.annotation.Inject;
+import com.yahoo.container.jdisc.RequestView;
+import com.yahoo.container.jdisc.utils.CapabilityRequiringRequestHandler;
+import com.yahoo.security.tls.Capability;
import com.yahoo.vespa.clustercontroller.apputil.communication.http.JDiscHttpRequestHandler;
-public class StatusHandler extends JDiscHttpRequestHandler {
+public class StatusHandler extends JDiscHttpRequestHandler implements CapabilityRequiringRequestHandler {
private final com.yahoo.vespa.clustercontroller.core.status.StatusHandler statusHandler;
@@ -13,6 +16,8 @@ public class StatusHandler extends JDiscHttpRequestHandler {
this(new com.yahoo.vespa.clustercontroller.core.status.StatusHandler(fc), ctx);
}
+ @Override public Capability requiredCapability(RequestView __) { return Capability.CLUSTER_CONTROLLER__STATUS; }
+
private StatusHandler(com.yahoo.vespa.clustercontroller.core.status.StatusHandler handler,
JDiscHttpRequestHandler.Context ctx)
{