| syntax = "proto3"; |
| |
| package containerd.v1.services; |
| |
| import "google/protobuf/empty.proto"; |
| import "google/protobuf/any.proto"; |
| import "gogoproto/gogo.proto"; |
| import "github.com/containerd/containerd/api/types/mount/mount.proto"; |
| import "github.com/containerd/containerd/api/types/container/container.proto"; |
| import "google/protobuf/timestamp.proto"; |
| |
| service ContainerService { |
| rpc Create(CreateRequest) returns (CreateResponse); |
| rpc Start(StartRequest) returns (google.protobuf.Empty); |
| rpc Delete(DeleteRequest) returns (DeleteResponse); |
| rpc Info(InfoRequest) returns (containerd.v1.types.Container); |
| rpc List(ListRequest) returns (ListResponse); |
| rpc Kill(KillRequest) returns (google.protobuf.Empty); |
| rpc Events(EventsRequest) returns (stream containerd.v1.types.Event); |
| rpc Exec(ExecRequest) returns (ExecResponse); |
| rpc Pty(PtyRequest) returns (google.protobuf.Empty); |
| rpc CloseStdin(CloseStdinRequest) returns (google.protobuf.Empty); |
| rpc Pause(PauseRequest) returns (google.protobuf.Empty); |
| rpc Resume(ResumeRequest) returns (google.protobuf.Empty); |
| rpc Processes(ProcessesRequest) returns (ProcessesResponse); |
| } |
| |
| message CreateRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| google.protobuf.Any spec = 2; |
| repeated containerd.v1.types.Mount rootfs = 3; |
| string runtime = 4; |
| string stdin = 5; |
| string stdout = 6; |
| string stderr = 7; |
| bool terminal = 8; |
| } |
| |
| message CreateResponse { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| uint32 pid = 2; |
| } |
| |
| message StartRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| } |
| |
| message DeleteRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| } |
| |
| message DeleteResponse { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| uint32 exit_status = 2; |
| google.protobuf.Timestamp exited_at = 3 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; |
| } |
| |
| message InfoRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| } |
| |
| message ListRequest { |
| } |
| |
| message ListResponse { |
| repeated containerd.v1.types.Container containers = 1; |
| } |
| |
| message KillRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| uint32 signal = 2; |
| oneof pid_or_all { |
| bool all = 3; |
| uint32 pid = 4; |
| } |
| } |
| |
| message EventsRequest { |
| } |
| |
| message ExecRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| bool terminal = 2; |
| string stdin = 3; |
| string stdout = 4; |
| string stderr = 5; |
| google.protobuf.Any spec = 6; |
| } |
| |
| message ExecResponse { |
| uint32 pid = 1; |
| } |
| |
| message PtyRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| uint32 pid = 2; |
| uint32 width = 3; |
| uint32 height = 4; |
| } |
| |
| message CloseStdinRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| uint32 pid = 2; |
| } |
| |
| message PauseRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| } |
| |
| message ResumeRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| } |
| |
| message ProcessesRequest { |
| string id = 1 [(gogoproto.customname) = "ID"]; |
| } |
| |
| message ProcessesResponse{ |
| repeated containerd.v1.types.Process processes = 1; |
| } |