mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
This PR adds default_pid_mode and default_ipc_mode options to the exec and java task drivers. By default these will default to "private" mode, enabling PID and IPC isolation for tasks. Setting them to "host" mode disables isolation. Doing so is not recommended, but may be necessary to support legacy job configurations. Closes #9969
109 lines
2.7 KiB
Protocol Buffer
109 lines
2.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
package hashicorp.nomad.plugins.executor.proto;
|
|
option go_package = "proto";
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "plugins/drivers/proto/driver.proto";
|
|
|
|
service Executor {
|
|
rpc Launch(LaunchRequest) returns (LaunchResponse) {}
|
|
rpc Wait(WaitRequest) returns (WaitResponse) {}
|
|
rpc Shutdown(ShutdownRequest) returns (ShutdownResponse) {}
|
|
rpc UpdateResources(UpdateResourcesRequest) returns (UpdateResourcesResponse) {}
|
|
rpc Version(VersionRequest) returns (VersionResponse) {}
|
|
rpc Stats(StatsRequest) returns (stream StatsResponse) {}
|
|
rpc Signal(SignalRequest) returns (SignalResponse) {}
|
|
rpc Exec(ExecRequest) returns (ExecResponse) {}
|
|
|
|
// buf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE
|
|
rpc ExecStreaming(
|
|
stream
|
|
// buf:lint:ignore RPC_REQUEST_STANDARD_NAME
|
|
hashicorp.nomad.plugins.drivers.proto.ExecTaskStreamingRequest)
|
|
returns (
|
|
stream
|
|
// buf:lint:ignore RPC_RESPONSE_STANDARD_NAME
|
|
hashicorp.nomad.plugins.drivers.proto.ExecTaskStreamingResponse
|
|
) {}
|
|
}
|
|
|
|
message LaunchRequest {
|
|
string cmd = 1;
|
|
repeated string args = 2;
|
|
hashicorp.nomad.plugins.drivers.proto.Resources resources = 3;
|
|
string stdout_path = 4;
|
|
string stderr_path = 5;
|
|
repeated string env = 6;
|
|
string user = 7;
|
|
string task_dir = 8;
|
|
bool resource_limits = 9;
|
|
bool basic_process_cgroup = 10;
|
|
repeated hashicorp.nomad.plugins.drivers.proto.Mount mounts = 11;
|
|
repeated hashicorp.nomad.plugins.drivers.proto.Device devices = 12;
|
|
hashicorp.nomad.plugins.drivers.proto.NetworkIsolationSpec network_isolation = 13;
|
|
bool no_pivot_root = 14;
|
|
string default_pid_mode = 15;
|
|
string default_ipc_mode = 16;
|
|
}
|
|
|
|
message LaunchResponse {
|
|
ProcessState process = 1;
|
|
}
|
|
|
|
message WaitRequest {}
|
|
|
|
message WaitResponse{
|
|
ProcessState process = 1;
|
|
}
|
|
|
|
message ShutdownRequest {
|
|
string signal = 1;
|
|
int64 grace_period = 2;
|
|
}
|
|
|
|
message ShutdownResponse {}
|
|
|
|
message UpdateResourcesRequest{
|
|
hashicorp.nomad.plugins.drivers.proto.Resources resources = 1;
|
|
}
|
|
|
|
message UpdateResourcesResponse {}
|
|
|
|
message VersionRequest {}
|
|
|
|
message VersionResponse{
|
|
string version = 1;
|
|
}
|
|
|
|
message StatsRequest {
|
|
int64 interval = 1;
|
|
}
|
|
|
|
message StatsResponse {
|
|
hashicorp.nomad.plugins.drivers.proto.TaskStats stats = 1;
|
|
}
|
|
|
|
message SignalRequest {
|
|
int32 signal = 1;
|
|
}
|
|
|
|
message SignalResponse {}
|
|
|
|
message ExecRequest {
|
|
google.protobuf.Timestamp deadline = 1;
|
|
string cmd = 2;
|
|
repeated string args = 3;
|
|
}
|
|
|
|
message ExecResponse {
|
|
bytes output = 1;
|
|
int32 exit_code = 2;
|
|
}
|
|
|
|
message ProcessState {
|
|
int32 pid = 1;
|
|
int32 exit_code = 2;
|
|
int32 signal = 3;
|
|
google.protobuf.Timestamp time = 4;
|
|
}
|