syntax = "proto3"; package s3gw.control; option go_package = "git.frostfs.info/TrueCloudLab/frostfs-s3-gw/pkg/service/control"; // `ControlService` provides an interface for internal work with the storage node. service ControlService { // Performs health check of the storage node. rpc HealthCheck (HealthCheckRequest) returns (HealthCheckResponse); } // Signature of some message. message Signature { // Public key used for signing. bytes key = 1 [json_name = "key"]; // Binary signature. bytes sign = 2 [json_name = "signature"]; } // Health check request. message HealthCheckRequest { message Body { } // Body of health check request message. Body body = 1; // Body signature. Signature signature = 2; } // Health check response. message HealthCheckResponse { // Health check response body message Body { // Health status of storage node application. HealthStatus health_status = 1; } // Body of health check response message. Body body = 1; Signature signature = 2; } // Health status of the storage node application. enum HealthStatus { // Undefined status, default value. HEALTH_STATUS_UNDEFINED = 0; // Storage node application is starting. STARTING = 1; // Storage node application is started and serves all services. READY = 2; // Storage node application is shutting down. SHUTTING_DOWN = 3; }