118 lines
No EOL
2.1 KiB
Protocol Buffer
118 lines
No EOL
2.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package buildr.rpc.v1;
|
|
|
|
import "common/v1/spec.proto";
|
|
|
|
message Buildr {
|
|
message Repo {
|
|
string root = 1;
|
|
}
|
|
|
|
Repo repo = 1;
|
|
string bin_dir = 2;
|
|
string out_dir = 3;
|
|
}
|
|
|
|
message TaskReference {
|
|
string id = 1;
|
|
string name = 2;
|
|
ModuleReference module = 3;
|
|
}
|
|
|
|
message StartTaskRequest {
|
|
TaskReference reference = 1;
|
|
Buildr buildr = 2;
|
|
ModuleSpec spec = 3;
|
|
}
|
|
|
|
message TaskResult {
|
|
string error = 1;
|
|
string modified_files_archive_path = 2;
|
|
}
|
|
|
|
enum TaskOutputSource {
|
|
TASK_OUTPUT_SOURCE_UNSPECIFIED = 0;
|
|
TASK_OUTPUT_SOURCE_STDOUT = 1;
|
|
TASK_OUTPUT_SOURCE_STDERR = 2;
|
|
}
|
|
|
|
message TaskOutput {
|
|
TaskOutputSource source = 1;
|
|
bytes payload = 2;
|
|
}
|
|
|
|
message TaskLog {
|
|
message LogAttribute {
|
|
string key = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
int64 time = 1;
|
|
string message = 2;
|
|
int32 level = 3;
|
|
repeated LogAttribute attributes = 4;
|
|
}
|
|
|
|
message SetState {
|
|
bytes key = 1;
|
|
bytes data = 2;
|
|
}
|
|
|
|
message GetStateRequest {
|
|
bytes key = 1;
|
|
}
|
|
|
|
message GetStateResponse {
|
|
bytes key = 1;
|
|
bytes data = 2;
|
|
}
|
|
|
|
message Result {
|
|
string error = 1;
|
|
}
|
|
|
|
message ExecutionClientMessage {
|
|
oneof meta {
|
|
bytes message_id = 1;
|
|
bytes replies_to = 2;
|
|
}
|
|
|
|
oneof envelope {
|
|
StartTaskRequest start_task = 11;
|
|
GetStateResponse get_state = 12;
|
|
Result error = 13;
|
|
}
|
|
}
|
|
|
|
message ExecutionServerMessage {
|
|
oneof meta {
|
|
bytes message_id = 1;
|
|
bytes replies_to = 2;
|
|
}
|
|
|
|
oneof envelope {
|
|
TaskResult task_result = 11;
|
|
TaskLog task_log = 12;
|
|
TaskOutput task_output = 13;
|
|
GetStateRequest get_state = 14;
|
|
SetState set_state = 15;
|
|
}
|
|
}
|
|
|
|
service ExecutorService {
|
|
rpc ExecuteStream(stream ExecutionClientMessage) returns (stream ExecutionServerMessage);
|
|
}
|
|
|
|
message RegisterPluginModuleRequest {
|
|
ModuleReference module_ref = 1;
|
|
bytes plugin_payload = 2;
|
|
}
|
|
|
|
message RegisterPluginModuleResponse {
|
|
|
|
}
|
|
|
|
service PluginManagerService {
|
|
rpc RegisterPluginModule(RegisterPluginModuleRequest) returns (RegisterPluginModuleResponse);
|
|
} |