syntax = "proto3"; package proto; import "google/protobuf/empty.proto"; // The OSD service definition. service OSD { rpc Kubeconfig(google.protobuf.Empty) returns (Data) {} rpc Processes(google.protobuf.Empty) returns (ProcessesReply) {} rpc Restart(RestartRequest) returns (RestartReply) {} rpc Reset(google.protobuf.Empty) returns (ResetReply) {} rpc Reboot(google.protobuf.Empty) returns (RebootReply) {} rpc Logs(LogsRequest) returns (stream Data) {} rpc Dmesg(google.protobuf.Empty) returns (Data) {} rpc Version(google.protobuf.Empty) returns (Data) {} } // The response message containing the requested processes. message ProcessesReply { repeated Process processes = 1; } // The response message containing the requested processes. message Process { string id = 1; string image = 2; string status = 3; uint64 memory_usage = 4; uint64 cpu_usage = 5; } // The request message containing the process to restart. message RestartRequest { string id = 1; int32 timeout = 2; } // The response message containing the restart status. message RestartReply {} // The response message containing the restart status. message ResetReply {} // The response message containing the restart status. message RebootReply {} // The request message containing the process name. message LogsRequest { string process = 1; bool container = 2; } // The response message containing the requested logs. message Data { bytes bytes = 1; }