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>
87 lines
2 KiB
Protocol Buffer
87 lines
2 KiB
Protocol Buffer
syntax = "proto3";
|
|
package quartermaster.v1;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
service QuartermasterCapabilities {
|
|
rpc SubmitProfile (SubmitProfileRequest) returns (SubmitProfileResponse);
|
|
rpc GetProfile (GetProfileRequest) returns (GetProfileResponse);
|
|
rpc ListProfiles (ListProfilesRequest) returns (ListProfilesResponse);
|
|
rpc VerifyProfile (VerifyProfileRequest) returns (VerifyProfileResponse);
|
|
rpc FlushAnchor (FlushAnchorRequest) returns (FlushAnchorResponse);
|
|
}
|
|
|
|
message SubmitProfileRequest {
|
|
string cluster_id = 1;
|
|
string image_digest = 2;
|
|
bytes profile_canonical = 3;
|
|
bytes profile_hash = 4;
|
|
string miner_version = 5;
|
|
string source_repo = 6;
|
|
string source_commit = 7;
|
|
}
|
|
|
|
message SubmitProfileResponse {
|
|
string capability_id = 1;
|
|
google.protobuf.Timestamp accepted_at = 2;
|
|
bool anchored = 3;
|
|
string anchor_id = 4;
|
|
}
|
|
|
|
message GetProfileRequest {
|
|
bytes manifest_hash = 1;
|
|
}
|
|
|
|
message GetProfileResponse {
|
|
string capability_id = 1;
|
|
google.protobuf.Timestamp time = 2;
|
|
string cluster_id = 3;
|
|
bytes manifest_hash = 4;
|
|
string image_digest = 5;
|
|
string miner_version = 6;
|
|
string source_repo = 7;
|
|
string source_commit = 8;
|
|
bool anchored = 9;
|
|
string anchor_id = 10;
|
|
int32 leaf_index = 11;
|
|
}
|
|
|
|
message ListProfilesRequest {
|
|
string cluster_id = 1;
|
|
int64 limit = 2;
|
|
}
|
|
|
|
message ListProfilesResponse {
|
|
repeated GetProfileResponse profiles = 1;
|
|
}
|
|
|
|
message VerifyProfileRequest {
|
|
bytes manifest_hash = 1;
|
|
}
|
|
|
|
message ProofStepMsg {
|
|
enum Direction {
|
|
LEFT = 0;
|
|
RIGHT = 1;
|
|
}
|
|
Direction direction = 1;
|
|
bytes hash = 2;
|
|
}
|
|
|
|
message VerifyProfileResponse {
|
|
bool verified = 1;
|
|
string anchor_id = 2;
|
|
bytes merkle_root = 3;
|
|
repeated ProofStepMsg proof = 4;
|
|
string error = 5;
|
|
}
|
|
|
|
message FlushAnchorRequest {
|
|
string cluster_id = 1;
|
|
}
|
|
|
|
message FlushAnchorResponse {
|
|
string anchor_id = 1;
|
|
bytes merkle_root = 2;
|
|
int32 leaf_count = 3;
|
|
}
|