2016-12-09 18:13:41 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
2017-01-25 21:27:48 +00:00
|
|
|
package containerd.shim.v1;
|
2016-12-09 18:13:41 +00:00
|
|
|
|
|
|
|
import "google/protobuf/empty.proto";
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
|
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);
|
|
|
|
rpc Events(EventsRequest) returns (stream Event);
|
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-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 {
|
|
|
|
}
|
|
|
|
|
|
|
|
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-25 21:27:48 +00:00
|
|
|
string id = 1 [(gogoproto.customname) = "ID"];
|
|
|
|
bool terminal = 2;
|
|
|
|
string stdin = 3;
|
|
|
|
string stdout = 4;
|
|
|
|
string stderr = 5;
|
|
|
|
User user = 6;
|
|
|
|
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;
|
|
|
|
string selinux_label = 14;
|
2017-01-24 22:45:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message User {
|
2017-01-25 21:27:48 +00:00
|
|
|
uint32 uid = 1;
|
|
|
|
uint32 gid = 2;
|
|
|
|
repeated uint32 additional_gids = 3;
|
2017-01-24 22:45:18 +00:00
|
|
|
}
|
2017-01-19 19:59:47 +00:00
|
|
|
|
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 {
|
|
|
|
}
|
|
|
|
|
|
|
|
enum EventType {
|
|
|
|
EXIT = 0;
|
|
|
|
OOM = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message Event {
|
|
|
|
string id = 1 [(gogoproto.customname) = "ID"];
|
|
|
|
EventType type = 2;
|
|
|
|
uint32 pid = 3;
|
|
|
|
uint32 exit_status = 4;
|
2016-12-09 18:13:41 +00:00
|
|
|
}
|