Go-based network automation with YANG models, gRPC, Ansible, Terraform, and Kubernetes integration. 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;
|
|
}
|