144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						|
 | 
						|
package containerd.v1;
 | 
						|
 | 
						|
import "google/protobuf/empty.proto";
 | 
						|
import "gogoproto/gogo.proto";
 | 
						|
 | 
						|
service ExecutionService {
 | 
						|
	rpc Create(CreateContainerRequest) returns (CreateContainerResponse);
 | 
						|
	rpc Start(StartContainerRequest) returns (google.protobuf.Empty);
 | 
						|
	rpc Update(UpdateContainerRequest) returns (google.protobuf.Empty);
 | 
						|
	rpc Pause(PauseContainerRequest) returns (google.protobuf.Empty);
 | 
						|
	rpc Resume(ResumeContainerRequest) returns (google.protobuf.Empty);
 | 
						|
	rpc Delete(DeleteContainerRequest) returns (google.protobuf.Empty);
 | 
						|
	rpc Get(GetContainerRequest) returns (GetContainerResponse);
 | 
						|
	rpc List(ListContainersRequest) returns (ListContainersResponse);
 | 
						|
 | 
						|
	rpc StartProcess(StartProcessRequest) returns (StartProcessResponse);
 | 
						|
	rpc GetProcess(GetProcessRequest) returns (GetProcessResponse);
 | 
						|
	rpc SignalProcess(SignalProcessRequest) returns (google.protobuf.Empty);
 | 
						|
	rpc DeleteProcess(DeleteProcessRequest) returns (google.protobuf.Empty);
 | 
						|
	rpc ListProcesses(ListProcessesRequest) returns (ListProcessesResponse);
 | 
						|
}
 | 
						|
 | 
						|
message StartContainerRequest {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
message CreateContainerRequest {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
	string bundle_path = 2;
 | 
						|
	string stdin = 3;
 | 
						|
	string stdout = 4;
 | 
						|
	string stderr = 5;
 | 
						|
}
 | 
						|
 | 
						|
message CreateContainerResponse {
 | 
						|
	Container container = 1;
 | 
						|
}
 | 
						|
 | 
						|
message DeleteContainerRequest {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
}
 | 
						|
 | 
						|
message ListContainersRequest {
 | 
						|
	repeated string owner = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListContainersResponse {
 | 
						|
	repeated Container containers = 1;
 | 
						|
}
 | 
						|
 | 
						|
message StartProcessRequest {
 | 
						|
	string container_id = 1;
 | 
						|
	Process process = 2;
 | 
						|
	string stdin = 3;
 | 
						|
	string stdout = 4;
 | 
						|
	string stderr = 5;
 | 
						|
}
 | 
						|
 | 
						|
message StartProcessResponse {
 | 
						|
	Process process = 1;
 | 
						|
}
 | 
						|
 | 
						|
message Container {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
	string bundle_path = 2;
 | 
						|
	Status status = 4;
 | 
						|
}
 | 
						|
 | 
						|
message Process {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
	int64 pid = 2;
 | 
						|
	repeated string args = 3;
 | 
						|
	repeated string env = 4;
 | 
						|
	User user = 5;
 | 
						|
	string cwd = 6;
 | 
						|
	bool terminal = 7;
 | 
						|
	uint32 exit_status = 8;
 | 
						|
}
 | 
						|
 | 
						|
enum Status {
 | 
						|
	CREATED = 0;
 | 
						|
	RUNNING = 1;
 | 
						|
	STOPPED = 2;
 | 
						|
	PAUSED = 3;
 | 
						|
}
 | 
						|
 | 
						|
message User {
 | 
						|
	uint32 uid = 1;
 | 
						|
	uint32 gid = 2;
 | 
						|
	repeated uint32 additionalGids = 3;
 | 
						|
}
 | 
						|
 | 
						|
message GetContainerRequest {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
}
 | 
						|
 | 
						|
message GetContainerResponse {
 | 
						|
	Container container = 1;
 | 
						|
}
 | 
						|
 | 
						|
message UpdateContainerRequest {
 | 
						|
	Container container = 1;
 | 
						|
	string bundle_path = 2;
 | 
						|
}
 | 
						|
 | 
						|
message PauseContainerRequest {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
}
 | 
						|
 | 
						|
message ResumeContainerRequest {
 | 
						|
	string id = 1 [(gogoproto.customname) = "ID"];
 | 
						|
}
 | 
						|
 | 
						|
message GetProcessRequest {
 | 
						|
	Container container = 1;
 | 
						|
	string process_id = 2;
 | 
						|
}
 | 
						|
 | 
						|
message GetProcessResponse {
 | 
						|
	Process process = 1;
 | 
						|
}
 | 
						|
 | 
						|
message SignalProcessRequest {
 | 
						|
	Container container = 1;
 | 
						|
	Process process = 2;
 | 
						|
	uint32 signal = 3;
 | 
						|
}
 | 
						|
 | 
						|
message DeleteProcessRequest {
 | 
						|
	Container container = 1;
 | 
						|
	Process process = 2;
 | 
						|
}
 | 
						|
 | 
						|
message ListProcessesRequest {
 | 
						|
	Container container = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListProcessesResponse {
 | 
						|
	repeated Process processes = 1;
 | 
						|
}
 |