containerd/api/container/container.proto
Michael Crosby 3ef3f74878 Add ctr run functions for mocking client
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-29 16:52:04 -08:00

105 lines
2.2 KiB
Protocol Buffer

syntax = "proto3";
package containerd.v1;
service Containers {
rpc Create(CreateRequest) returns (CreateResponse);
rpc Start(StartRequest) returns (StartResponse);
rpc Delete(DeleteRequest) returns (DeleteResponse);
rpc State(StateRequest) returns (StateResponse);
rpc Update(UpdateRequest) returns (UpdateResponse);
rpc Pause(PauseRequest) returns (PauseResponse);
rpc Resume(ResumeRequest) returns (ResumeResponse);
rpc ContainerList(ContainerListRequest) returns (ContainerListResponse);
rpc CreateProcess(CreateProcessRequest) returns (CreateProcessResponse);
rpc StartProcess(StartProcessRequest) returns (StartProcessResponse);
rpc ProcessState(ProcessStateRequest) returns (ProcessStateResponse);
rpc SignalProcess(SignalProcessRequest) returns (SignalProcessResponse)
rpc DeleteProcess(DeleteProcessRequest) returns (DeleteProcessResponse);
rpc ProcessList(ProcessListRequest) returns (ProcessListResponse);
rpc Events(EventsRequest) returns (stream EventsResponse);
}
message Container {
string id = 1;
repeated Mount mounts = 2;
repeated string tags = 3;
Process process = 4;
}
message Process {
uint64 pid = 1;
repeated string args = 1;
repeated string env = 2;
User user = 3;
string cwd = 4;
bool terminal = 5;
}
message ProcessSpec {
repeated string args = 1;
repeated string env = 2;
User user = 3;
string cwd = 4;
bool terminal = 5;
string stdin = 6;
string stdout = 7;
string stderr = 8;
}
message Mount {
}
message User {
uint32 uid = 1;
uint32 gid = 2;
repeated uint32 additionalGids = 3;
}
message CreateRequest {
string id = 1;
ProcessSpec process = 2;
repeated Mount mounts = 3;
repeated string tags = 4;
optional string config_path = 5;
}
message CreateResponse {
Container container = 1;
}
message StartRequest {
string id = 1;
}
message StartResponse {
State state = 1;
}
message DeleteRequest {
string id = 1;
}
message DeleteResponse {
}
message ListContainerRequest {
repeated string tags = 1;
}
message ContainerListResponse {
repeated Container containers = 1;
}
message StateRequest {
string id = 1;
}
message StateResponse {
Container container = 1;
}