containerd/api/container/container.proto
Stephen J Day 4d1a30ff41
api: protos now pass lint checks
Generation is likely broken, but the Makefile linter now passes. Another
pass will have a fully working toolchain.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2016-12-01 12:22:05 -08:00

187 lines
3.4 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 [(gogoproto.customname) = "ID"];
repeated Mount mounts = 2;
string owner = 3;
Process process = 4;
}
message Process {
uint64 pid = 1;
repeated string args = 2;
repeated string env = 3;
User user = 4;
string cwd = 5;
bool terminal = 6;
}
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 {
string source = 1;
string target = 2;
string type = 3;
repeated string options = 4;
}
message User {
uint32 uid = 1;
uint32 gid = 2;
repeated uint32 additionalGids = 3;
}
message CreateRequest {
string id = 1 [(gogoproto.customname) = "ID"];
ProcessSpec process = 2;
repeated Mount mounts = 3;
string owner = 4;
string config_path = 5;
}
message CreateResponse {
Container container = 1;
}
message StartRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message State {
}
message StartResponse {
State state = 1;
}
message DeleteRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message DeleteResponse {
}
message ContainerListRequest {
repeated string owner = 1;
}
message ContainerListResponse {
repeated Container containers = 1;
}
message StateRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message StateResponse {
Container container = 1;
}
message UpdateRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message UpdateResponse {
}
message PauseRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message PauseResponse {
}
message ResumeRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message ResumeResponse {
}
message CreateProcessRequest {
string id = 1 [(gogoproto.customname) = "ID"];
ProcessSpec spec = 2;
}
message CreateProcessResponse {
}
message StartProcessRequest {
string cid = 1;
string pid = 2;
}
message StartProcessResponse {
uint32 pid = 1;
}
message ProcessStateRequest {
string cid = 1;
string pid = 2;
}
message ProcessStateResponse {
State state = 1;
}
message SignalProcessRequest {
string cid = 1;
string pid = 2;
uint32 signal = 3;
}
message SignalProcessResponse {
}
message DeleteProcessRequest {
string cid = 1;
string pid = 2;
}
message DeleteProcessResponse {
}
message ProcessListRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message ProcessListResponse {
}
message EventsRequest {
}
message EventsResponse {
}