summaryrefslogtreecommitdiffstats
path: root/configd
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahooinc.com>2023-02-15 15:36:40 +0000
committerTor Brede Vekterli <vekterli@yahooinc.com>2023-02-16 09:42:19 +0000
commite44680839cc42c25cf1670ba17090d116b59ae91 (patch)
tree20d97cc22b323792fce23737cc72dcbfd599995b /configd
parent805f8fbc2feda6e56d33437b317163ce8a345287 (diff)
Add remaining capabilities and capability sets to C++
Diffstat (limited to 'configd')
-rw-r--r--configd/src/apps/sentinel/rpchooks.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/configd/src/apps/sentinel/rpchooks.cpp b/configd/src/apps/sentinel/rpchooks.cpp
index b0c0cb1094f..bc64e70b1a7 100644
--- a/configd/src/apps/sentinel/rpchooks.cpp
+++ b/configd/src/apps/sentinel/rpchooks.cpp
@@ -26,8 +26,16 @@ RPCHooks::~RPCHooks() = default;
namespace {
-std::unique_ptr<FRT_RequireCapabilities> make_sentinel_api_capability_filter() {
- return FRT_RequireCapabilities::of(vespalib::net::tls::Capability::config_sentinel_api());
+std::unique_ptr<FRT_RequireCapabilities> make_sentinel_inspect_services_api_capability_filter() {
+ return FRT_RequireCapabilities::of(vespalib::net::tls::Capability::sentinel_inspect_services());
+}
+
+std::unique_ptr<FRT_RequireCapabilities> make_sentinel_management_api_capability_filter() {
+ return FRT_RequireCapabilities::of(vespalib::net::tls::Capability::sentinel_management_api());
+}
+
+std::unique_ptr<FRT_RequireCapabilities> make_sentinel_connectivity_check_api_capability_filter() {
+ return FRT_RequireCapabilities::of(vespalib::net::tls::Capability::sentinel_connectivity_check());
}
}
@@ -42,22 +50,22 @@ RPCHooks::initRPC(FRT_Supervisor *supervisor)
FRT_METHOD(RPCHooks::rpc_listServices), this);
rb.MethodDesc("list services");
rb.ReturnDesc("status", "Status for services");
- rb.RequestAccessFilter(make_sentinel_api_capability_filter());
+ rb.RequestAccessFilter(make_sentinel_inspect_services_api_capability_filter());
//-------------------------------------------------------------------------
rb.DefineMethod("sentinel.service.restart", "s", "",
FRT_METHOD(RPCHooks::rpc_restartService), this);
rb.MethodDesc("restart a service");
- rb.RequestAccessFilter(make_sentinel_api_capability_filter());
+ rb.RequestAccessFilter(make_sentinel_management_api_capability_filter());
//-------------------------------------------------------------------------
rb.DefineMethod("sentinel.service.stop", "s", "",
FRT_METHOD(RPCHooks::rpc_stopService), this);
rb.MethodDesc("stop a service");
- rb.RequestAccessFilter(make_sentinel_api_capability_filter());
+ rb.RequestAccessFilter(make_sentinel_management_api_capability_filter());
//-------------------------------------------------------------------------
rb.DefineMethod("sentinel.service.start", "s", "",
FRT_METHOD(RPCHooks::rpc_startService), this);
rb.MethodDesc("start a service");
- rb.RequestAccessFilter(make_sentinel_api_capability_filter());
+ rb.RequestAccessFilter(make_sentinel_management_api_capability_filter());
//-------------------------------------------------------------------------
rb.DefineMethod("sentinel.check.connectivity", "sii", "s",
FRT_METHOD(RPCHooks::rpc_checkConnectivity), this);
@@ -66,7 +74,7 @@ RPCHooks::initRPC(FRT_Supervisor *supervisor)
rb.ParamDesc("port", "Port number of peer sentinel");
rb.ParamDesc("timeout", "Timeout for check in milliseconds");
rb.ReturnDesc("status", "Status (ok, bad, or unknown) for peer");
- rb.RequestAccessFilter(make_sentinel_api_capability_filter());
+ rb.RequestAccessFilter(make_sentinel_connectivity_check_api_capability_filter());
//-------------------------------------------------------------------------
rb.DefineMethod("sentinel.report.connectivity", "i", "SS",
FRT_METHOD(RPCHooks::rpc_reportConnectivity), this);
@@ -74,7 +82,7 @@ RPCHooks::initRPC(FRT_Supervisor *supervisor)
rb.ParamDesc("timeout", "Timeout for check in milliseconds");
rb.ReturnDesc("hostnames", "Names of peers checked");
rb.ReturnDesc("peerstatus", "Status description for each peer");
- rb.RequestAccessFilter(make_sentinel_api_capability_filter());
+ rb.RequestAccessFilter(make_sentinel_connectivity_check_api_capability_filter());
//-------------------------------------------------------------------------
}