open-vault/vault/request_forwarding_service....

65 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "github.com/hashicorp/vault/vault";
import "helper/forwarding/types.proto";
package vault;
message EchoRequest {
string message = 1;
// ClusterAddr is used to send up a standby node's address to the active
// node upon heartbeat
string cluster_addr = 2;
// ClusterAddrs is used to send up a list of cluster addresses to a dr
// primary from a dr secondary
repeated string cluster_addrs = 3;
uint64 raft_applied_index = 4;
string raft_node_id = 5;
NodeInformation node_info = 6;
uint64 raft_term = 7;
string raft_desired_suffrage = 8;
}
message EchoReply {
string message = 1;
repeated string cluster_addrs = 2;
uint32 replication_state = 3;
uint64 raft_applied_index = 4;
string raft_node_id = 5;
NodeInformation node_info = 6;
}
message NodeInformation {
string cluster_addr = 1;
string api_addr = 2;
string mode = 3;
string node_id = 4;
uint32 replication_state = 5;
string hostname = 6;
}
message ClientKey {
string type = 1;
bytes x = 2;
bytes y = 3;
bytes d = 4;
}
message PerfStandbyElectionInput {}
message PerfStandbyElectionResponse {
string id = 1;
string cluster_id = 2;
string primary_cluster_addr = 3;
bytes ca_cert = 4;
bytes client_cert = 5;
ClientKey client_key = 6;
}
service RequestForwarding {
rpc ForwardRequest(forwarding.Request) returns (forwarding.Response) {}
rpc Echo(EchoRequest) returns (EchoReply) {}
rpc PerformanceStandbyElectionRequest(PerfStandbyElectionInput) returns (stream PerfStandbyElectionResponse) {}
}