github.com/lalkh/containerd@v1.4.3/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 }