14 proto files across 5 gRPC service domains: - quartermaster/v1 (6): governance, registry, notary, credentials, capabilities, pipelines - bascule/v1 (4): session, command, gateway, ceremony - workspace/v1 (1): workspace management - runner/v1 (2): pipeline execution - schematic/v1 (1): composite meta-artifacts Consumed as a git submodule by guildhouse-platform (Rust) and guildhouse-dashboard (Python). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
100 lines
2.4 KiB
Protocol Buffer
100 lines
2.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
package runner.v1;
|
|
|
|
import "runner/v1/runner.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
service RunnerService {
|
|
rpc TriggerRun (TriggerRunRequest) returns (TriggerRunResponse);
|
|
rpc GetRunStatus (GetRunStatusRequest) returns (GetRunStatusResponse);
|
|
rpc StreamLogs (StreamLogsRequest) returns (stream LogEntry);
|
|
rpc CancelRun (CancelRunRequest) returns (CancelRunResponse);
|
|
rpc ListRuns (ListRunsRequest) returns (ListRunsResponse);
|
|
rpc GetPipelineSpec (GetPipelineSpecRequest) returns (GetPipelineSpecResponse);
|
|
rpc GetRunAttestation (GetRunAttestationRequest) returns (GetRunAttestationResponse);
|
|
}
|
|
|
|
message TriggerRunRequest {
|
|
string pipeline_name = 1;
|
|
string commit_hash = 2;
|
|
TriggerType trigger_type = 3;
|
|
string requested_by = 4;
|
|
map<string, string> parameters = 5;
|
|
// Branch name (for inbound sync triggers, e.g. "inbound/github-origin/pull/42/head")
|
|
string branch = 6;
|
|
// Name of the inbound remote that triggered this run (empty for non-inbound triggers)
|
|
string inbound_remote = 7;
|
|
}
|
|
|
|
message TriggerRunResponse {
|
|
string run_id = 1;
|
|
RunPhase phase = 2;
|
|
string message = 3;
|
|
bool deduplicated = 4;
|
|
string dedup_run_id = 5;
|
|
}
|
|
|
|
message GetRunStatusRequest {
|
|
string run_id = 1;
|
|
}
|
|
|
|
message GetRunStatusResponse {
|
|
PipelineResult result = 1;
|
|
}
|
|
|
|
message StreamLogsRequest {
|
|
string run_id = 1;
|
|
string step_name = 2;
|
|
bool follow = 3;
|
|
uint64 since_sequence = 4;
|
|
}
|
|
|
|
message CancelRunRequest {
|
|
string run_id = 1;
|
|
string reason = 2;
|
|
}
|
|
|
|
message CancelRunResponse {
|
|
bool success = 1;
|
|
string message = 2;
|
|
}
|
|
|
|
message ListRunsRequest {
|
|
string pipeline_name = 1;
|
|
RunPhase phase_filter = 2;
|
|
TriggerType trigger_filter = 3;
|
|
uint32 limit = 4;
|
|
string commit_hash = 5;
|
|
}
|
|
|
|
message ListRunsResponse {
|
|
repeated PipelineRunSummary runs = 1;
|
|
}
|
|
|
|
message GetPipelineSpecRequest {
|
|
string commit_hash = 1;
|
|
string pipeline_name = 2;
|
|
}
|
|
|
|
message GetPipelineSpecResponse {
|
|
string pipeline_yaml = 1;
|
|
string commit_hash = 2;
|
|
bytes pipeline_hash = 3;
|
|
}
|
|
|
|
message GetRunAttestationRequest {
|
|
string run_id = 1;
|
|
}
|
|
|
|
message GetRunAttestationResponse {
|
|
string run_id = 1;
|
|
bytes result_hash = 2;
|
|
string anchor_id = 3;
|
|
bytes merkle_root = 4;
|
|
int32 leaf_index = 5;
|
|
string runner_svid = 6;
|
|
string commit_hash = 7;
|
|
string pipeline_name = 8;
|
|
string status = 9;
|
|
google.protobuf.Timestamp notarized_at = 10;
|
|
}
|