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 "github.com/containerd/containerd/api/types/descriptor/descriptor.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); rpc Checkpoint(CheckpointRequest) returns (CheckpointResponse); } message CreateRequest { string id = 1; 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; types.Descriptor checkpoint = 9; } message CreateResponse { string id = 1; uint32 pid = 2; } message StartRequest { string id = 1; } message DeleteRequest { string id = 1; } message DeleteResponse { string id = 1; uint32 exit_status = 2; google.protobuf.Timestamp exited_at = 3 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; } message InfoRequest { string id = 1; } message ListRequest { } message ListResponse { repeated containerd.v1.types.Container containers = 1; } message KillRequest { string id = 1; uint32 signal = 2; oneof pid_or_all { bool all = 3; uint32 pid = 4; } } message EventsRequest { } message ExecRequest { string id = 1; 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; uint32 pid = 2; uint32 width = 3; uint32 height = 4; } message CloseStdinRequest { string id = 1; uint32 pid = 2; } message PauseRequest { string id = 1; } message ResumeRequest { string id = 1; } message ProcessesRequest { string id = 1; } message ProcessesResponse{ repeated containerd.v1.types.Process processes = 1; } message CheckpointRequest { string id = 1; bool allow_tcp = 2; bool allow_unix_sockets = 3; bool allow_terminal = 4; bool file_locks = 5; repeated string empty_namespaces = 6; string parent_checkpoint = 7 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false]; bool exit = 8; } message CheckpointResponse { repeated types.Descriptor descriptors = 1; }