2016-12-09 18:13:41 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
2017-02-17 17:53:26 +00:00
|
|
|
package containerd.v1.services.shim;
|
2016-12-09 18:13:41 +00:00
|
|
|
|
|
|
|
import "google/protobuf/empty.proto";
|
|
|
|
import "gogoproto/gogo.proto";
|
2017-02-13 18:23:28 +00:00
|
|
|
import "github.com/docker/containerd/api/types/mount/mount.proto";
|
|
|
|
import "github.com/docker/containerd/api/types/container/container.proto";
|
2016-12-09 18:13:41 +00:00
|
|
|
|
2017-01-24 22:45:18 +00:00
|
|
|
service Shim {
|
2017-01-25 21:27:48 +00:00
|
|
|
rpc Create(CreateRequest) returns (CreateResponse);
|
|
|
|
rpc Start(StartRequest) returns (google.protobuf.Empty);
|
|
|
|
rpc Delete(DeleteRequest) returns (DeleteResponse);
|
|
|
|
rpc Exec(ExecRequest) returns (ExecResponse);
|
|
|
|
rpc Pty(PtyRequest) returns (google.protobuf.Empty);
|
2017-02-13 18:23:28 +00:00
|
|
|
rpc Events(EventsRequest) returns (stream containerd.v1.types.Event);
|
2017-01-26 23:09:59 +00:00
|
|
|
rpc State(StateRequest) returns (StateResponse);
|
2017-02-01 21:25:28 +00:00
|
|
|
rpc Pause(PauseRequest) returns (google.protobuf.Empty);
|
|
|
|
rpc Resume(ResumeRequest) returns (google.protobuf.Empty);
|
2017-02-13 18:23:28 +00:00
|
|
|
rpc Exit(ExitRequest) returns (google.protobuf.Empty);
|
2017-01-19 19:59:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message CreateRequest {
|
2017-01-25 21:27:48 +00:00
|
|
|
string id = 1 [(gogoproto.customname) = "ID"];
|
|
|
|
string bundle = 2;
|
|
|
|
string runtime = 3;
|
|
|
|
bool no_pivot = 4;
|
|
|
|
bool terminal = 5;
|
|
|
|
string stdin = 6;
|
|
|
|
string stdout = 7;
|
|
|
|
string stderr = 8;
|
2017-02-13 18:23:28 +00:00
|
|
|
repeated containerd.v1.types.Mount rootfs = 9;
|
2017-01-19 19:59:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message CreateResponse {
|
2017-01-25 21:27:48 +00:00
|
|
|
uint32 pid = 1;
|
2017-01-19 19:59:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message StartRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
message DeleteRequest {
|
2017-01-26 23:09:59 +00:00
|
|
|
uint32 pid = 1;
|
2017-01-19 19:59:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message DeleteResponse {
|
2017-01-25 21:27:48 +00:00
|
|
|
uint32 exit_status = 1;
|
2017-01-19 19:59:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message ExecRequest {
|
2017-01-26 23:09:59 +00:00
|
|
|
bool terminal = 1;
|
|
|
|
string stdin = 2;
|
|
|
|
string stdout = 3;
|
|
|
|
string stderr = 4;
|
|
|
|
string selinux_label = 5;
|
2017-02-13 18:23:28 +00:00
|
|
|
containerd.v1.types.User user = 6;
|
2017-01-25 21:27:48 +00:00
|
|
|
repeated string args = 7;
|
|
|
|
repeated string env = 8;
|
|
|
|
string cwd = 9;
|
|
|
|
repeated string capabilities = 10;
|
|
|
|
repeated Rlimit rlimits = 11;
|
|
|
|
bool no_new_privileges = 12;
|
|
|
|
string apparmor_profile = 13;
|
2017-01-24 22:45:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message Rlimit {
|
2017-01-25 21:27:48 +00:00
|
|
|
string type = 1;
|
|
|
|
uint64 hard = 2;
|
|
|
|
uint64 soft = 3;
|
2017-01-19 19:59:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message ExecResponse {
|
2017-01-25 21:27:48 +00:00
|
|
|
uint32 pid = 1;
|
2016-12-09 18:13:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message PtyRequest {
|
2017-01-25 21:27:48 +00:00
|
|
|
uint32 pid = 1;
|
|
|
|
uint32 width = 2;
|
|
|
|
uint32 height = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message EventsRequest {
|
|
|
|
}
|
|
|
|
|
2017-01-26 23:09:59 +00:00
|
|
|
message StateRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
message StateResponse {
|
|
|
|
string id = 1 [(gogoproto.customname) = "ID"];
|
2017-02-01 21:25:28 +00:00
|
|
|
string bundle = 2;
|
2017-02-13 18:23:28 +00:00
|
|
|
uint32 pid = 3;
|
2017-03-02 09:42:55 +00:00
|
|
|
containerd.v1.types.Status status = 4;
|
|
|
|
repeated containerd.v1.types.Process processes = 5;
|
2017-01-26 23:09:59 +00:00
|
|
|
}
|
2017-02-01 21:25:28 +00:00
|
|
|
|
2017-02-13 18:23:28 +00:00
|
|
|
|
2017-02-01 21:25:28 +00:00
|
|
|
message PauseRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
message ResumeRequest {
|
|
|
|
}
|
2017-02-13 18:23:28 +00:00
|
|
|
|
|
|
|
message ExitRequest {
|
|
|
|
}
|