From 3a2c319b87adcfbb371cf6acee6df3807d90cadc Mon Sep 17 00:00:00 2001 From: Airat Arifullin Date: Tue, 31 Oct 2023 18:36:42 +0300 Subject: [PATCH] [#770] control: Generate gRPC methods to manipulate APE chains * Define new types and gRPC methods to manipulate APE chains in control service. * Stub gRPC handlers for the generated methods. Signed-off-by: Airat Arifullin --- pkg/services/control/server/policy_engine.go | 24 ++++ pkg/services/control/service.pb.go | Bin 146644 -> 194092 bytes pkg/services/control/service.proto | 114 +++++++++++++++++++ pkg/services/control/service_frostfs.pb.go | Bin 67136 -> 89775 bytes pkg/services/control/service_grpc.pb.go | Bin 23641 -> 31613 bytes 5 files changed, 138 insertions(+) create mode 100644 pkg/services/control/server/policy_engine.go diff --git a/pkg/services/control/server/policy_engine.go b/pkg/services/control/server/policy_engine.go new file mode 100644 index 00000000..058839bf --- /dev/null +++ b/pkg/services/control/server/policy_engine.go @@ -0,0 +1,24 @@ +package control + +import ( + "context" + "fmt" + + "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/control" +) + +func (s *Server) AddChainLocalOverride(ctx context.Context, req *control.AddChainLocalOverrideRequest) (*control.AddChainLocalOverrideResponse, error) { + return nil, fmt.Errorf("not implemented yet") +} + +func (s *Server) GetChainLocalOverride(ctx context.Context, req *control.GetChainLocalOverrideRequest) (*control.GetChainLocalOverrideResponse, error) { + return nil, fmt.Errorf("not implemented yet") +} + +func (s *Server) ListChainLocalOverrides(ctx context.Context, req *control.ListChainLocalOverridesRequest) (*control.ListChainLocalOverridesResponse, error) { + return nil, fmt.Errorf("not implemented yet") +} + +func (s *Server) RemoveChainLocalOverride(ctx context.Context, req *control.RemoveChainLocalOverrideRequest) (*control.RemoveChainLocalOverrideResponse, error) { + return nil, fmt.Errorf("not implemented yet") +} diff --git a/pkg/services/control/service.pb.go b/pkg/services/control/service.pb.go index 443afb1aab94e3c30bfa4710c155517e576d8da4..547ea7e7e2d6fdd8eda86f2bcdb6e2bb2e026e6f 100644 GIT binary patch delta 19402 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 delta 4799 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 b<~KU@(V$N*gm{62zoQ;<*?d2IM|S#uiE3Vv diff --git a/pkg/services/control/service.proto b/pkg/services/control/service.proto index cbcf74e5..e7d218f2 100644 --- a/pkg/services/control/service.proto +++ b/pkg/services/control/service.proto @@ -44,6 +44,18 @@ service ControlService { // Doctor performs storage restructuring operations on engine. rpc Doctor (DoctorRequest) returns (DoctorResponse); + + // Add local access policy engine overrides to a node. + rpc AddChainLocalOverride (AddChainLocalOverrideRequest) returns (AddChainLocalOverrideResponse); + + // Get local access policy engine overrides stored in the node by chain id. + rpc GetChainLocalOverride (GetChainLocalOverrideRequest) returns (GetChainLocalOverrideResponse); + + // List local access policy engine overrides stored in the node by container id. + rpc ListChainLocalOverrides (ListChainLocalOverridesRequest) returns (ListChainLocalOverridesResponse); + + // Remove local access policy engine overrides stored in the node by chaind id. + rpc RemoveChainLocalOverride (RemoveChainLocalOverrideRequest) returns (RemoveChainLocalOverrideResponse); } // Health check request. @@ -405,3 +417,105 @@ message StopShardEvacuationResponse { Body body = 1; Signature signature = 2; } + +// AddChainLocalOverride request. +message AddChainLocalOverrideRequest { + message Body { + // Container id for which the overrides are applied. + bytes container_id = 1; + + // Serialized rule chain. + bytes chain = 2; + } + + Body body = 1; + + Signature signature = 2; +} + +// AddChainLocalOverride response. +message AddChainLocalOverrideResponse { + message Body { + // Chain ID assigned for the added rule chain. + string chain_id = 1; + } + + Body body = 1; + + Signature signature = 2; +} + +// GetChainLocalOverride request. +message GetChainLocalOverrideRequest { + message Body { + // Container id for which the overrides are defined. + bytes container_id = 1; + + // Chain ID assigned for the added rule chain. + string chain_id = 2; + } + + Body body = 1; + + Signature signature = 2; +} + +// GetChainLocalOverride response. +message GetChainLocalOverrideResponse { + message Body { + // Serialized rule chain. + bytes chain = 1; + } + + Body body = 1; + + Signature signature = 2; +} + +// ListChainLocalOverrides request. +message ListChainLocalOverridesRequest { + message Body { + // Container id for which the overrides are defined. + bytes container_id = 1; + } + + Body body = 1; + + Signature signature = 2; +} + +// ListChainLocalOverrides response. +message ListChainLocalOverridesResponse { + message Body { + // The list of serialized rule chain. + repeated bytes chains = 1; + } + + Body body = 1; + + Signature signature = 2; +} + +message RemoveChainLocalOverrideRequest { + message Body { + // Container id for which the overrides are defined. + bytes container_id = 1; + + // Chain ID assigned for the added rule chain. + string chain_id = 2; + } + + Body body = 1; + + Signature signature = 2; +} + +message RemoveChainLocalOverrideResponse { + message Body { + bool removed = 1; + } + + Body body = 1; + + Signature signature = 2; +} diff --git a/pkg/services/control/service_frostfs.pb.go b/pkg/services/control/service_frostfs.pb.go index 56ff81acea2d4ce5f41c9bd0724afafeca840f05..852788a307b04620972a3759fffc5432d89a8d9a 100644 GIT binary patch delta 1861 zcmai!Pe@cz6vlajP6QU(y!j&(DQ#v^f;lS}k12(a#84OROzBeNM63!b-xEqvUjO!a3xVV z`{OyRXDszO1v?_riZyUpHleomC`wHd^6+6_h>=QzRYro3TVEqYKgdnqqnj=NeoG6` zeIW|x7t-6#6pE(WAMC1hSJ7oW7Dc{8x$UcY`mKGWbn#z@T)5;2kzVk8vA zNPKS#jgb@rjPTuQZ_)o}+>3arGWyWgGu>!xwiTix=lQ5e2~p9CMnx;0^?`cqXd((; zHLbQfCsRumBR1@~jXVX6CTc2mJ#bX+&{<<_^3&&3h|`LL&q9$#vaW^{r^mW5GnwTy zg^C#krRy;rx#g937zer-GT!|XYTFa5D3x>5)&6DCcf7$tn^+a#jtA9d*8d~opauK^YN|c*AGwb zLtVdb%*wd7W!?dM#n2!%s_SEE)yPa(nrcq1fNdK(q;4#mW)j@ArBA9$z|VMlMG#cvP0fX2)WWS7BlW2{TmgGlPj zOO+Bz9{EPmIRt#NvoTR=qB3l_mE?Uto-o?$4h`Zt<&>c$IwXag$C68!?4`k%52Tlf zGT=FXD4&hhoa7IBV+*K(sxlhpv+dRp|J-{8{iI;=5h6{hbdDUh)pyOmpA{}9QNbZR zaFtN_pB~_aa9Ex$LTtbbiR+7$3JAqiYZ(x#MPyZx=tjIjFc8VR{V&@2^IKv3m1>`U zMLaC82iH;k_C{00ijm}#0m4`AY7es^8<)w18Achu8`!U(&LucJEhIRk!X-H5e;xQp z^4X<|3F40ZL58nW#-~Z4)q$6k!FC2W$YncI3)HgV