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>
48 lines
1.1 KiB
Protocol Buffer
48 lines
1.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
package quartermaster.v1;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
service QuartermasterNotary {
|
|
rpc CreateAnchor (CreateAnchorRequest) returns (CreateAnchorResponse);
|
|
rpc GetLatestAnchor (GetLatestAnchorRequest) returns (GetLatestAnchorResponse);
|
|
rpc VerifyInclusion (VerifyInclusionRequest) returns (VerifyInclusionResponse);
|
|
}
|
|
|
|
message CreateAnchorRequest {
|
|
string cluster_id = 1;
|
|
repeated bytes leaves = 2;
|
|
int64 etcd_revision = 3; // 0 means not set
|
|
}
|
|
|
|
message CreateAnchorResponse {
|
|
string anchor_id = 1;
|
|
bytes merkle_root = 2;
|
|
bytes previous_root = 3;
|
|
int32 leaf_count = 4;
|
|
google.protobuf.Timestamp time = 5;
|
|
}
|
|
|
|
message GetLatestAnchorRequest {
|
|
string cluster_id = 1;
|
|
}
|
|
|
|
message GetLatestAnchorResponse {
|
|
string anchor_id = 1;
|
|
string cluster_id = 2;
|
|
bytes merkle_root = 3;
|
|
bytes previous_root = 4;
|
|
int64 etcd_revision = 5;
|
|
int32 leaf_count = 6;
|
|
google.protobuf.Timestamp time = 7;
|
|
}
|
|
|
|
message VerifyInclusionRequest {
|
|
string anchor_id = 1;
|
|
bytes leaf = 2;
|
|
repeated bytes proof = 3;
|
|
}
|
|
|
|
message VerifyInclusionResponse {
|
|
bool valid = 1;
|
|
}
|