diff options
author | Tor Brede Vekterli <vekterli@yahooinc.com> | 2023-02-15 15:36:40 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@yahooinc.com> | 2023-02-16 09:42:19 +0000 |
commit | e44680839cc42c25cf1670ba17090d116b59ae91 (patch) | |
tree | 20d97cc22b323792fce23737cc72dcbfd599995b /configd | |
parent | 805f8fbc2feda6e56d33437b317163ce8a345287 (diff) |
Add remaining capabilities and capability sets to C++
Diffstat (limited to 'configd')
-rw-r--r-- | configd/src/apps/sentinel/rpchooks.cpp | 24 |
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()); //------------------------------------------------------------------------- } |