Add protos for initial API

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby 2016-11-28 15:28:38 -08:00
parent 5f757c914c
commit fc577a1cbb
2 changed files with 162 additions and 0 deletions

View File

@ -0,0 +1,123 @@
syntax = "proto3";
package containerd.v1;
service Containers {
// container level rpcs
rpc Create(CreateRequest) returns (CreateResponse);
rpc Start(StartRequest) returns (StartResponse);
rpc Delete(DeleteRequest) returns (DeleteResponse);
rpc State(StateRequest) returns (StateResponse);
// container level action rpcs
rpc Update(UpdateRequest) returns (UpdateResponse);
rpc Pause(PauseRequest) returns (PauseResponse);
rpc Resume(ResumeRequest) returns (ResumeResponse);
// process level rpcs
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);
// agg rpcs
rpc List(ListRequest) returns (ListResponse);
rpc ListProcesses(ListProcessesRequest) returns (ListProcessesResponse);
rpc Events(EventsRequest) returns (stream EventsResponse);
}
message Container {
string id = 1;
repeated Mount mounts = 2;
Process process = 3;
optional string config_path = 4;
}
message Process {
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 {
Container container = 1;
}
message CreateResponse {
}
message StartRequest {
string id = 1;
}
message StartResponse {
}
message StopRequest {
string id = 1;
uint32 signal = 2;
uint32 timeout = 3;
}
message StopResponse {
}
message DeleteRequest {
string id = 1;
}
message DeleteResponse {
}
message ListRequest {
}
message ListResponse {
repeated Container containers = 1;
}
message StateRequest {
string id = 1;
}
message StateResponse {
Container container = 1;
}
message ExecRequest {
string container_id = 1;
string id = 2;
Process process = 3;
}
message ExecResponse {
}
message UpdateRequest {
string id = 1;
}
message UpdateResponse {
}

View File

@ -0,0 +1,39 @@
syntax = "proto3";
package containerd.v1;
service Registry {
// Pull an image from a registry
rpc Pull(PullRequest) returns (PullResponse);
// Push pushes a new or existing image to a registry
rpc Push(PushRequest) returns (PushResponse);
// Delete deletes an image from the registry
rpc Delete(DeleteRequest) returns (DeleteResponse);
// Status returns a progress stream of the push or pull operation
rpc Status(StatusRequest) returns (stream StatusResponse);
// Cancel cancels a push or pull operation
rpc Cancel(CancelRequest) returns (CancelResponse);
}
message PullRequest {
string uri = 1;
Authentication auth = 2;
}
message PullResponse {
string id = 1;
repeated Layer layers = 2;
}
message Layer {
string id = 1;
uint64 size = 2;
}
// TODO: we have no clue what should go here, halp stevvooo
message Authentication {
string username = 1;
string password = 2;
}