Go-based network automation with YANG models, gRPC, Ansible, Terraform, and Kubernetes integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
58 lines
1.5 KiB
Protocol Buffer
58 lines
1.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
package quartermaster.v1;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/struct.proto";
|
|
|
|
service QuartermasterRegistry {
|
|
rpc RegisterCluster (RegisterClusterRequest) returns (RegisterClusterResponse);
|
|
rpc GetCluster (GetClusterRequest) returns (GetClusterResponse);
|
|
rpc ListClusters (ListClustersRequest) returns (ListClustersResponse);
|
|
rpc UpdateClusterMetadata (UpdateClusterMetadataRequest) returns (UpdateClusterMetadataResponse);
|
|
}
|
|
|
|
message RegisterClusterRequest {
|
|
string cluster_name = 1;
|
|
string trust_domain = 2;
|
|
string role = 3; // "authority", "delegate", "peer"
|
|
string provisioned_by = 4; // optional cluster_id
|
|
}
|
|
|
|
message RegisterClusterResponse {
|
|
string cluster_id = 1;
|
|
string cluster_name = 2;
|
|
string trust_domain = 3;
|
|
string role = 4;
|
|
google.protobuf.Timestamp provisioned_at = 5;
|
|
}
|
|
|
|
message GetClusterRequest {
|
|
string cluster_id = 1;
|
|
}
|
|
|
|
message GetClusterResponse {
|
|
string cluster_id = 1;
|
|
string cluster_name = 2;
|
|
string trust_domain = 3;
|
|
string role = 4;
|
|
string provisioned_by = 5;
|
|
google.protobuf.Timestamp provisioned_at = 6;
|
|
string rmm_endpoint = 7;
|
|
google.protobuf.Struct metadata = 8;
|
|
}
|
|
|
|
message ListClustersRequest {}
|
|
|
|
message ListClustersResponse {
|
|
repeated GetClusterResponse clusters = 1;
|
|
}
|
|
|
|
message UpdateClusterMetadataRequest {
|
|
string cluster_id = 1;
|
|
google.protobuf.Struct metadata = 2;
|
|
}
|
|
|
|
message UpdateClusterMetadataResponse {
|
|
string cluster_id = 1;
|
|
google.protobuf.Struct metadata = 2;
|
|
}
|