github.com/demonoid81/containerd@v1.3.4/api/services/tasks/v1/tasks.proto (about)

     1  syntax = "proto3";
     2  
     3  package containerd.services.tasks.v1;
     4  
     5  import "google/protobuf/empty.proto";
     6  import "google/protobuf/any.proto";
     7  import weak "gogoproto/gogo.proto";
     8  import "github.com/containerd/containerd/api/types/mount.proto";
     9  import "github.com/containerd/containerd/api/types/metrics.proto";
    10  import "github.com/containerd/containerd/api/types/descriptor.proto";
    11  import "github.com/containerd/containerd/api/types/task/task.proto";
    12  import "google/protobuf/timestamp.proto";
    13  
    14  option go_package = "github.com/containerd/containerd/api/services/tasks/v1;tasks";
    15  
    16  service Tasks {
    17  	// Create a task.
    18  	rpc Create(CreateTaskRequest) returns (CreateTaskResponse);
    19  
    20  	// Start a process.
    21  	rpc Start(StartRequest) returns (StartResponse);
    22  
    23  	// Delete a task and on disk state.
    24  	rpc Delete(DeleteTaskRequest) returns (DeleteResponse);
    25  
    26  	rpc DeleteProcess(DeleteProcessRequest) returns (DeleteResponse);
    27  
    28  	rpc Get(GetRequest) returns (GetResponse);
    29  
    30  	rpc List(ListTasksRequest) returns (ListTasksResponse);
    31  
    32  	// Kill a task or process.
    33  	rpc Kill(KillRequest) returns (google.protobuf.Empty);
    34  
    35  	rpc Exec(ExecProcessRequest) returns (google.protobuf.Empty);
    36  
    37  	rpc ResizePty(ResizePtyRequest) returns (google.protobuf.Empty);
    38  
    39  	rpc CloseIO(CloseIORequest) returns (google.protobuf.Empty);
    40  
    41  	rpc Pause(PauseTaskRequest) returns (google.protobuf.Empty);
    42  
    43  	rpc Resume(ResumeTaskRequest) returns (google.protobuf.Empty);
    44  
    45  	rpc ListPids(ListPidsRequest) returns (ListPidsResponse);
    46  
    47  	rpc Checkpoint(CheckpointTaskRequest) returns (CheckpointTaskResponse);
    48  
    49  	rpc Update(UpdateTaskRequest) returns (google.protobuf.Empty);
    50  
    51  	rpc Metrics(MetricsRequest) returns (MetricsResponse);
    52  
    53  	rpc Wait(WaitRequest) returns (WaitResponse);
    54  }
    55  
    56  message CreateTaskRequest {
    57  	string container_id = 1;
    58  
    59  	// RootFS provides the pre-chroot mounts to perform in the shim before
    60  	// executing the container task.
    61  	//
    62  	// These are for mounts that cannot be performed in the user namespace.
    63  	// Typically, these mounts should be resolved from snapshots specified on
    64  	// the container object.
    65  	repeated containerd.types.Mount rootfs = 3;
    66  
    67  	string stdin = 4;
    68  	string stdout = 5;
    69  	string stderr = 6;
    70  	bool terminal = 7;
    71  
    72  	containerd.types.Descriptor checkpoint = 8;
    73  
    74  	google.protobuf.Any options = 9;
    75  }
    76  
    77  message CreateTaskResponse {
    78  	string container_id = 1;
    79  	uint32 pid = 2;
    80  }
    81  
    82  message StartRequest {
    83  	string container_id = 1;
    84  	string exec_id = 2;
    85  }
    86  
    87  message StartResponse {
    88  	uint32 pid = 1;
    89  }
    90  
    91  message DeleteTaskRequest {
    92  	string container_id = 1;
    93  }
    94  
    95  message DeleteResponse {
    96  	string id = 1;
    97  	uint32 pid = 2;
    98  	uint32 exit_status = 3;
    99  	google.protobuf.Timestamp exited_at = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
   100  }
   101  
   102  message DeleteProcessRequest {
   103  	string container_id = 1;
   104  	string exec_id = 2;
   105  }
   106  
   107  message GetRequest {
   108  	string container_id = 1;
   109  	string exec_id = 2;
   110  }
   111  
   112  message GetResponse {
   113  	containerd.v1.types.Process process = 1;
   114  }
   115  
   116  message ListTasksRequest {
   117  	string filter = 1;
   118  }
   119  
   120  message ListTasksResponse {
   121  	repeated containerd.v1.types.Process tasks = 1;
   122  }
   123  
   124  message KillRequest {
   125  	string container_id = 1;
   126  	string exec_id = 2;
   127  	uint32 signal = 3;
   128  	bool all = 4;
   129  }
   130  
   131  message ExecProcessRequest {
   132  	string container_id = 1;
   133  	string stdin = 2;
   134  	string stdout = 3;
   135  	string stderr = 4;
   136  	bool terminal = 5;
   137  	// Spec for starting a process in the target container.
   138  	//
   139  	// For runc, this is a process spec, for example.
   140  	google.protobuf.Any spec = 6;
   141  	// id of the exec process
   142  	string exec_id = 7;
   143  }
   144  
   145  message ExecProcessResponse {
   146  }
   147  
   148  message ResizePtyRequest {
   149  	string container_id = 1;
   150  	string exec_id = 2;
   151  	uint32 width = 3;
   152  	uint32 height = 4;
   153  }
   154  
   155  message CloseIORequest {
   156  	string container_id = 1;
   157  	string exec_id = 2;
   158  	bool stdin = 3;
   159  }
   160  
   161  message PauseTaskRequest {
   162  	string container_id = 1;
   163  }
   164  
   165  message ResumeTaskRequest {
   166  	string container_id = 1;
   167  }
   168  
   169  message ListPidsRequest {
   170  	string container_id = 1;
   171  }
   172  
   173  message ListPidsResponse {
   174  	// Processes includes the process ID and additional process information
   175  	repeated containerd.v1.types.ProcessInfo processes = 1;
   176  }
   177  
   178  message CheckpointTaskRequest {
   179  	string container_id = 1;
   180  	string parent_checkpoint = 2 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false];
   181  	google.protobuf.Any options = 3;
   182  }
   183  
   184  message CheckpointTaskResponse {
   185  	repeated containerd.types.Descriptor descriptors = 1;
   186  }
   187  
   188  message UpdateTaskRequest {
   189  	string container_id = 1;
   190  	google.protobuf.Any resources = 2;
   191  }
   192  
   193  message MetricsRequest {
   194  	repeated string filters = 1;
   195  }
   196  
   197  message MetricsResponse {
   198  	repeated types.Metric metrics = 1;
   199  }
   200  
   201  message WaitRequest {
   202  	string container_id = 1;
   203  	string exec_id = 2;
   204  }
   205  
   206  message WaitResponse {
   207  	uint32 exit_status = 1;
   208  	google.protobuf.Timestamp exited_at = 2 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
   209  }