 fcba486366
			
		
	
	fcba486366
	
	
	
		
			
			While gogo isn't actually used, it is still referenced from .proto files and its corresponding Go package is imported from the auto-generated files. Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
		
			
				
	
	
		
			228 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			228 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| /*
 | |
| 	Copyright The containerd Authors.
 | |
| 
 | |
| 	Licensed under the Apache License, Version 2.0 (the "License");
 | |
| 	you may not use this file except in compliance with the License.
 | |
| 	You may obtain a copy of the License at
 | |
| 
 | |
| 		http://www.apache.org/licenses/LICENSE-2.0
 | |
| 
 | |
| 	Unless required by applicable law or agreed to in writing, software
 | |
| 	distributed under the License is distributed on an "AS IS" BASIS,
 | |
| 	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| 	See the License for the specific language governing permissions and
 | |
| 	limitations under the License.
 | |
| */
 | |
| 
 | |
| syntax = "proto3";
 | |
| 
 | |
| package containerd.services.tasks.v1;
 | |
| 
 | |
| import "google/protobuf/empty.proto";
 | |
| import "google/protobuf/any.proto";
 | |
| import "github.com/containerd/containerd/api/types/mount.proto";
 | |
| import "github.com/containerd/containerd/api/types/metrics.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 process.
 | |
| 	rpc Start(StartRequest) returns (StartResponse);
 | |
| 
 | |
| 	// Delete a task and on disk state.
 | |
| 	rpc Delete(DeleteTaskRequest) returns (DeleteResponse);
 | |
| 
 | |
| 	rpc DeleteProcess(DeleteProcessRequest) returns (DeleteResponse);
 | |
| 
 | |
| 	rpc Get(GetRequest) returns (GetResponse);
 | |
| 
 | |
| 	rpc List(ListTasksRequest) returns (ListTasksResponse);
 | |
| 
 | |
| 	// Kill a task or process.
 | |
| 	rpc Kill(KillRequest) returns (google.protobuf.Empty);
 | |
| 
 | |
| 	rpc Exec(ExecProcessRequest) returns (google.protobuf.Empty);
 | |
| 
 | |
| 	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);
 | |
| 
 | |
| 	rpc Metrics(MetricsRequest) returns (MetricsResponse);
 | |
| 
 | |
| 	rpc Wait(WaitRequest) returns (WaitResponse);
 | |
| }
 | |
| 
 | |
| 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;
 | |
| 
 | |
| 	string runtime_path = 10;
 | |
| }
 | |
| 
 | |
| message CreateTaskResponse {
 | |
| 	string container_id = 1;
 | |
| 	uint32 pid = 2;
 | |
| }
 | |
| 
 | |
| message StartRequest {
 | |
| 	string container_id = 1;
 | |
| 	string exec_id = 2;
 | |
| }
 | |
| 
 | |
| message StartResponse {
 | |
| 	uint32 pid = 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;
 | |
| }
 | |
| 
 | |
| message DeleteProcessRequest {
 | |
| 	string container_id = 1;
 | |
| 	string exec_id = 2;
 | |
| }
 | |
| 
 | |
| message GetRequest {
 | |
| 	string container_id = 1;
 | |
| 	string exec_id = 2;
 | |
| }
 | |
| 
 | |
| message GetResponse {
 | |
| 	containerd.v1.types.Process process = 1;
 | |
| }
 | |
| 
 | |
| message ListTasksRequest {
 | |
| 	string filter = 1;
 | |
| }
 | |
| 
 | |
| message ListTasksResponse {
 | |
| 	repeated containerd.v1.types.Process 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 {
 | |
| }
 | |
| 
 | |
| 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 {
 | |
| 	// Processes includes the process ID and additional process information
 | |
| 	repeated containerd.v1.types.ProcessInfo processes = 1;
 | |
| }
 | |
| 
 | |
| message CheckpointTaskRequest {
 | |
| 	string container_id = 1;
 | |
| 	string parent_checkpoint = 2;
 | |
| 	google.protobuf.Any options = 3;
 | |
| }
 | |
| 
 | |
| message CheckpointTaskResponse {
 | |
| 	repeated containerd.types.Descriptor descriptors = 1;
 | |
| }
 | |
| 
 | |
| message UpdateTaskRequest {
 | |
| 	string container_id = 1;
 | |
| 	google.protobuf.Any resources = 2;
 | |
| 	map<string, string> annotations = 3;
 | |
| }
 | |
| 
 | |
| message MetricsRequest {
 | |
| 	repeated string filters = 1;
 | |
| }
 | |
| 
 | |
| message MetricsResponse {
 | |
| 	repeated types.Metric metrics = 1;
 | |
| }
 | |
| 
 | |
| message WaitRequest {
 | |
| 	string container_id = 1;
 | |
| 	string exec_id = 2;
 | |
| }
 | |
| 
 | |
| message WaitResponse {
 | |
| 	uint32 exit_status = 1;
 | |
| 	google.protobuf.Timestamp exited_at = 2;
 | |
| }
 |