181 lines
4.0 KiB
Protocol Buffer
181 lines
4.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package containerd.services.tasks.v1;
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/any.proto";
|
|
import "gogoproto/gogo.proto";
|
|
import "github.com/containerd/containerd/api/types/mount.proto";
|
|
import "github.com/containerd/containerd/api/types/descriptor.proto";
|
|
import "github.com/containerd/containerd/api/types/task/task.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "github.com/containerd/containerd/api/services/tasks/v1;tasks";
|
|
|
|
service Tasks {
|
|
// Create a task.
|
|
rpc Create(CreateTaskRequest) returns (CreateTaskResponse);
|
|
|
|
// Start a task.
|
|
rpc Start(StartTaskRequest) returns (google.protobuf.Empty);
|
|
|
|
// Delete a task and on disk state.
|
|
rpc Delete(DeleteTaskRequest) returns (DeleteResponse);
|
|
|
|
rpc DeleteProcess(DeleteProcessRequest) returns (DeleteResponse);
|
|
|
|
rpc Get(GetTaskRequest) returns (GetTaskResponse);
|
|
|
|
rpc List(ListTasksRequest) returns (ListTasksResponse);
|
|
|
|
// Kill a task or process.
|
|
rpc Kill(KillRequest) returns (google.protobuf.Empty);
|
|
|
|
rpc Exec(ExecProcessRequest) returns (ExecProcessResponse);
|
|
|
|
rpc ResizePty(ResizePtyRequest) returns (google.protobuf.Empty);
|
|
|
|
rpc CloseIO(CloseIORequest) returns (google.protobuf.Empty);
|
|
|
|
rpc Pause(PauseTaskRequest) returns (google.protobuf.Empty);
|
|
|
|
rpc Resume(ResumeTaskRequest) returns (google.protobuf.Empty);
|
|
|
|
rpc ListPids(ListPidsRequest) returns (ListPidsResponse);
|
|
|
|
rpc Checkpoint(CheckpointTaskRequest) returns (CheckpointTaskResponse);
|
|
|
|
rpc Update(UpdateTaskRequest) returns (google.protobuf.Empty);
|
|
}
|
|
|
|
message CreateTaskRequest {
|
|
string container_id = 1;
|
|
|
|
// RootFS provides the pre-chroot mounts to perform in the shim before
|
|
// executing the container task.
|
|
//
|
|
// These are for mounts that cannot be performed in the user namespace.
|
|
// Typically, these mounts should be resolved from snapshots specified on
|
|
// the container object.
|
|
repeated containerd.types.Mount rootfs = 3;
|
|
|
|
string stdin = 4;
|
|
string stdout = 5;
|
|
string stderr = 6;
|
|
bool terminal = 7;
|
|
|
|
containerd.types.Descriptor checkpoint = 8;
|
|
|
|
google.protobuf.Any options = 9;
|
|
}
|
|
|
|
message CreateTaskResponse {
|
|
string container_id = 1;
|
|
uint32 pid = 2;
|
|
}
|
|
|
|
message StartTaskRequest {
|
|
string container_id = 1;
|
|
}
|
|
|
|
message DeleteTaskRequest {
|
|
string container_id = 1;
|
|
}
|
|
|
|
message DeleteResponse {
|
|
string id = 1;
|
|
uint32 pid = 2;
|
|
uint32 exit_status = 3;
|
|
google.protobuf.Timestamp exited_at = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
|
}
|
|
|
|
message DeleteProcessRequest {
|
|
string container_id = 1;
|
|
string exec_id = 2;
|
|
}
|
|
|
|
message GetTaskRequest {
|
|
string container_id = 1;
|
|
}
|
|
|
|
message GetTaskResponse {
|
|
containerd.v1.types.Task task = 1;
|
|
}
|
|
|
|
message ListTasksRequest {
|
|
string filter = 1;
|
|
}
|
|
|
|
message ListTasksResponse {
|
|
repeated containerd.v1.types.Task tasks = 1;
|
|
}
|
|
|
|
message KillRequest {
|
|
string container_id = 1;
|
|
string exec_id = 2;
|
|
uint32 signal = 3;
|
|
bool all = 4;
|
|
}
|
|
|
|
message ExecProcessRequest {
|
|
string container_id = 1;
|
|
string stdin = 2;
|
|
string stdout = 3;
|
|
string stderr = 4;
|
|
bool terminal = 5;
|
|
// Spec for starting a process in the target container.
|
|
//
|
|
// For runc, this is a process spec, for example.
|
|
google.protobuf.Any spec = 6;
|
|
// id of the exec process
|
|
string exec_id = 7;
|
|
}
|
|
|
|
message ExecProcessResponse {
|
|
uint32 pid = 1;
|
|
}
|
|
|
|
message ResizePtyRequest {
|
|
string container_id = 1;
|
|
string exec_id = 2;
|
|
uint32 width = 3;
|
|
uint32 height = 4;
|
|
}
|
|
|
|
message CloseIORequest {
|
|
string container_id = 1;
|
|
string exec_id = 2;
|
|
bool stdin = 3;
|
|
}
|
|
|
|
message PauseTaskRequest {
|
|
string container_id = 1;
|
|
}
|
|
|
|
message ResumeTaskRequest {
|
|
string container_id = 1;
|
|
}
|
|
|
|
message ListPidsRequest {
|
|
string container_id = 1;
|
|
}
|
|
|
|
message ListPidsResponse{
|
|
repeated uint32 pids = 1;
|
|
}
|
|
|
|
message CheckpointTaskRequest {
|
|
string container_id = 1;
|
|
string parent_checkpoint = 2 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false];
|
|
google.protobuf.Any options = 3;
|
|
}
|
|
|
|
message CheckpointTaskResponse {
|
|
repeated containerd.types.Descriptor descriptors = 1;
|
|
}
|
|
|
|
message UpdateTaskRequest {
|
|
string container_id = 1;
|
|
google.protobuf.Any resources = 2;
|
|
}
|