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;
 | 
						|
}
 |