Files
nomad/drivers/shared/executor/proto/executor.proto
Michael Smithhisler 658c429d75 Drivers: add work_dir config to exec/raw_exec/java drivers (#24249)
---------

Co-authored-by: wurosh <uros.m.perisic@gmail.com>
Co-authored-by: Michael Schurter <mschurter@hashicorp.com>
Co-authored-by: Tim Gross <tgross@hashicorp.com>
2024-11-01 11:04:40 -04:00

120 lines
3.0 KiB
Protocol Buffer

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
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 [deprecated=true];
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;
string cpuset_cgroup = 17;
repeated string allow_caps = 18;
repeated string capabilities = 19;
string cgroup_v2_override = 20;
map<string,string> cgroup_v1_override = 21;
int32 oom_score_adj = 22;
string work_dir = 23;
}
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;
bool oom_killed = 5;
}