syntax = "proto3"; package containerd.v1.services; import "google/protobuf/empty.proto"; import "google/protobuf/any.proto"; import "gogoproto/gogo.proto"; import "github.com/docker/containerd/api/types/mount/mount.proto"; import "github.com/docker/containerd/api/types/container/container.proto"; service ContainerService { rpc Create(CreateRequest) returns (CreateResponse); rpc Start(StartRequest) returns (google.protobuf.Empty); rpc Delete(DeleteRequest) returns (google.protobuf.Empty); rpc Info(InfoRequest) returns (containerd.v1.types.Container); rpc List(ListRequest) returns (ListResponse); rpc Events(EventsRequest) returns (stream containerd.v1.types.Event); } 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; } message InfoRequest { string id = 1 [(gogoproto.customname) = "ID"]; } message ListRequest { } message ListResponse { repeated containerd.v1.types.Container containers = 1; } message EventsRequest { }