mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-19 13:41:13 +02:00
The following RPCs have been renamed: - ps to containers - top to processes - df to mounts Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
194 lines
4.7 KiB
Protocol Buffer
194 lines
4.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package proto;
|
|
|
|
option go_package = "machineapi";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "MachineApi";
|
|
option java_package = "com.machine.api";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
// The machine service definition.
|
|
service Machine {
|
|
rpc CopyOut(CopyOutRequest) returns (stream StreamingData);
|
|
rpc Mounts(google.protobuf.Empty) returns (MountsReply);
|
|
rpc LS(LSRequest) returns (stream FileInfo);
|
|
rpc Reboot(google.protobuf.Empty) returns (RebootReply);
|
|
rpc Reset(google.protobuf.Empty) returns (ResetReply);
|
|
rpc Shutdown(google.protobuf.Empty) returns (ShutdownReply);
|
|
rpc Upgrade(UpgradeRequest) returns (UpgradeReply);
|
|
rpc ServiceList(google.protobuf.Empty) returns (ServiceListReply);
|
|
rpc ServiceStart(ServiceStartRequest) returns (ServiceStartReply);
|
|
rpc ServiceStop(ServiceStopRequest) returns (ServiceStopReply);
|
|
rpc ServiceRestart(ServiceRestartRequest) returns (ServiceRestartReply);
|
|
|
|
rpc Start(StartRequest) returns (StartReply) {
|
|
option deprecated = true;
|
|
};
|
|
rpc Stop(StopRequest) returns (StopReply) {
|
|
option deprecated = true;
|
|
};
|
|
|
|
rpc Version(google.protobuf.Empty) returns (VersionReply);
|
|
}
|
|
|
|
// The response message containing the reboot status.
|
|
message RebootReply {}
|
|
|
|
// The response message containing the restart status.
|
|
message ResetReply {}
|
|
|
|
// The response message containing the shutdown status.
|
|
message ShutdownReply {}
|
|
|
|
message UpgradeRequest {
|
|
string image = 1;
|
|
}
|
|
|
|
message UpgradeReply {
|
|
string ack = 1;
|
|
}
|
|
|
|
message ServiceListReply {
|
|
repeated ServiceInfo services = 1;
|
|
}
|
|
|
|
message ServiceInfo {
|
|
string id = 1;
|
|
string state = 2;
|
|
ServiceEvents events = 3;
|
|
ServiceHealth health = 4;
|
|
}
|
|
|
|
message ServiceEvents {
|
|
repeated ServiceEvent events = 1;
|
|
}
|
|
|
|
message ServiceEvent {
|
|
string msg = 1;
|
|
string state = 2;
|
|
google.protobuf.Timestamp ts = 3;
|
|
}
|
|
|
|
message ServiceHealth {
|
|
bool unknown = 1;
|
|
bool healthy = 2;
|
|
string last_message = 3;
|
|
google.protobuf.Timestamp last_change = 4;
|
|
}
|
|
|
|
message ServiceStartRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message ServiceStartReply {
|
|
string resp = 1;
|
|
}
|
|
|
|
message ServiceStopRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message ServiceStopReply {
|
|
string resp = 1;
|
|
}
|
|
|
|
message ServiceRestartRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message ServiceRestartReply {
|
|
string resp = 1;
|
|
}
|
|
|
|
message StartRequest {
|
|
option deprecated = true;
|
|
string id = 1;
|
|
}
|
|
|
|
message StartReply {
|
|
option deprecated = true;
|
|
string resp = 1;
|
|
}
|
|
|
|
message StopRequest {
|
|
option deprecated = true;
|
|
string id = 1;
|
|
}
|
|
|
|
message StopReply {
|
|
option deprecated = true;
|
|
string resp = 1;
|
|
}
|
|
|
|
// StreamingData is used to stream back responses
|
|
message StreamingData {
|
|
bytes bytes = 1;
|
|
string errors = 2;
|
|
}
|
|
|
|
// CopyOutRequest describes a request to copy data out of Talos node
|
|
//
|
|
// CopyOut produces .tar.gz archive which is streamed back to the caller
|
|
message CopyOutRequest {
|
|
// Root path to start copying data out, it might be either a file or directory
|
|
string root_path = 1;
|
|
}
|
|
|
|
// LSRequest describes a request to list the contents of a directory
|
|
message LSRequest {
|
|
// Root indicates the root directory for the list. If not indicated, '/' is
|
|
// presumed.
|
|
string root = 1;
|
|
// Recurse indicates that subdirectories should be recursed.
|
|
bool recurse = 2;
|
|
// RecursionDepth indicates how many levels of subdirectories should be
|
|
// recursed. The default (0) indicates that no limit should be enforced.
|
|
int32 recursion_depth = 3;
|
|
}
|
|
|
|
// FileInfo describes a file or directory's information
|
|
message FileInfo {
|
|
// Name is the name (including prefixed path) of the file or directory
|
|
string name = 1;
|
|
// Size indicates the number of bytes contained within the file
|
|
int64 size = 2;
|
|
// Mode is the bitmap of UNIX mode/permission flags of the file
|
|
uint32 mode = 3;
|
|
// Modified indicates the UNIX timestamp at which the file was last modified
|
|
int64 modified = 4; // TODO: unix timestamp or include proto's Date type
|
|
// IsDir indicates that the file is a directory
|
|
bool is_dir = 5;
|
|
// Error describes any error encountered while trying to read the file
|
|
// information.
|
|
string error = 6;
|
|
// Link is filled with symlink target
|
|
string link = 7;
|
|
// RelativeName is the name of the file or directory relative to the RootPath
|
|
string relative_name = 8;
|
|
}
|
|
|
|
// The response message containing the requested df stats.
|
|
message MountsReply {
|
|
repeated MountStat stats = 1;
|
|
}
|
|
|
|
// The response message containing the requested processes.
|
|
message MountStat {
|
|
string filesystem = 1;
|
|
uint64 size = 2;
|
|
uint64 available = 3;
|
|
string mounted_on = 4;
|
|
}
|
|
|
|
message VersionReply {
|
|
string tag = 1;
|
|
string sha = 2;
|
|
string built = 3;
|
|
string go_version = 4;
|
|
string os = 5;
|
|
string arch = 6;
|
|
}
|