2021-06-09 15:37:03 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package ircontrol;
|
|
|
|
|
|
|
|
import "pkg/services/control/ir/types.proto";
|
|
|
|
|
2023-03-07 13:38:26 +00:00
|
|
|
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/ir/control";
|
2021-06-09 15:37:03 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
// `ControlService` provides an interface for internal work with the Inner Ring
|
|
|
|
// node.
|
2021-06-09 15:37:03 +00:00
|
|
|
service ControlService {
|
2024-07-16 12:20:07 +00:00
|
|
|
// Performs health check of the IR node.
|
|
|
|
rpc HealthCheck(HealthCheckRequest) returns (HealthCheckResponse);
|
|
|
|
// Forces a new epoch to be signaled by the IR node with high probability.
|
|
|
|
rpc TickEpoch(TickEpochRequest) returns (TickEpochResponse);
|
|
|
|
// Forces a node removal to be signaled by the IR node with high probability.
|
|
|
|
rpc RemoveNode(RemoveNodeRequest) returns (RemoveNodeResponse);
|
|
|
|
// Forces a container removal to be signaled by the IR node with high
|
|
|
|
// probability.
|
|
|
|
rpc RemoveContainer(RemoveContainerRequest) returns (RemoveContainerResponse);
|
2021-06-09 15:37:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Health check request.
|
|
|
|
message HealthCheckRequest {
|
2024-07-16 12:20:07 +00:00
|
|
|
// Health check request body.
|
|
|
|
message Body {}
|
2021-06-09 15:37:03 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
// Body of health check request message.
|
|
|
|
Body body = 1;
|
2021-06-09 15:37:03 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
// Body signature.
|
|
|
|
// Should be signed by node key or one of
|
|
|
|
// the keys configured by the node.
|
|
|
|
Signature signature = 2;
|
2021-06-09 15:37:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Health check response.
|
|
|
|
message HealthCheckResponse {
|
2024-07-16 12:20:07 +00:00
|
|
|
// Health check response body
|
|
|
|
message Body {
|
|
|
|
// Health status of IR node application.
|
|
|
|
HealthStatus health_status = 1;
|
|
|
|
}
|
2021-06-09 15:37:03 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
// Body of health check response message.
|
|
|
|
Body body = 1;
|
2021-06-09 15:37:03 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
// Body signature.
|
|
|
|
Signature signature = 2;
|
2021-06-09 15:37:03 +00:00
|
|
|
}
|
2023-04-25 12:09:20 +00:00
|
|
|
|
|
|
|
message TickEpochRequest {
|
2024-07-16 12:20:07 +00:00
|
|
|
message Body {
|
|
|
|
// Valid until block value override.
|
|
|
|
uint32 vub = 1;
|
|
|
|
}
|
2023-04-25 12:09:20 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
Body body = 1;
|
|
|
|
Signature signature = 2;
|
2023-04-25 12:09:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message TickEpochResponse {
|
2024-07-16 12:20:07 +00:00
|
|
|
message Body {
|
|
|
|
// Valid until block value for transaction.
|
|
|
|
uint32 vub = 1;
|
|
|
|
}
|
2023-04-25 12:09:20 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
Body body = 1;
|
|
|
|
Signature signature = 2;
|
2023-04-25 12:09:20 +00:00
|
|
|
}
|
2023-05-03 13:19:46 +00:00
|
|
|
|
|
|
|
message RemoveNodeRequest {
|
2024-07-16 12:20:07 +00:00
|
|
|
message Body {
|
|
|
|
bytes key = 1;
|
|
|
|
// Valid until block value override.
|
|
|
|
uint32 vub = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
Body body = 1;
|
|
|
|
Signature signature = 2;
|
2023-05-03 13:19:46 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message RemoveNodeResponse {
|
2024-07-16 12:20:07 +00:00
|
|
|
message Body {
|
|
|
|
// Valid until block value for transaction.
|
|
|
|
uint32 vub = 1;
|
|
|
|
}
|
2023-05-03 13:19:46 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
Body body = 1;
|
|
|
|
Signature signature = 2;
|
2023-05-03 13:19:46 +00:00
|
|
|
}
|
2023-10-16 15:15:04 +00:00
|
|
|
|
|
|
|
message RemoveContainerRequest {
|
2024-07-16 12:20:07 +00:00
|
|
|
message Body {
|
|
|
|
bytes container_id = 1;
|
|
|
|
bytes owner = 2;
|
|
|
|
// Valid until block value override.
|
|
|
|
uint32 vub = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
Body body = 1;
|
|
|
|
Signature signature = 2;
|
2023-10-16 15:15:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message RemoveContainerResponse {
|
2024-07-16 12:20:07 +00:00
|
|
|
message Body {
|
|
|
|
// Valid until block value for transaction.
|
|
|
|
uint32 vub = 1;
|
|
|
|
}
|
2023-10-16 15:15:04 +00:00
|
|
|
|
2024-07-16 12:20:07 +00:00
|
|
|
Body body = 1;
|
|
|
|
Signature signature = 2;
|
2023-10-31 14:01:27 +00:00
|
|
|
}
|