concord/api/proto/registry/v1/registry.proto

58 lines
1.3 KiB
Protocol Buffer

syntax = "proto3";
package concord.registry.v1;
option go_package = "github.com/Alexander-D-Karpov/concord/api/gen/go/registry/v1;registryv1";
import "google/api/annotations.proto";
import "google/protobuf/timestamp.proto";
import "common/v1/types.proto";
message RegisterServerRequest {
concord.common.v1.VoiceServer server = 1;
string jwks_url = 2;
string shared_secret = 3;
}
message RegisterServerResponse {
concord.common.v1.VoiceServer server = 1;
}
message HeartbeatRequest {
string server_id = 1;
int32 active_rooms = 2;
int32 active_sessions = 3;
double cpu = 4;
double outbound_mbps = 5;
google.protobuf.Timestamp ts = 6;
}
message ListServersRequest {
string region = 1;
}
message ListServersResponse {
repeated concord.common.v1.VoiceServer servers = 1;
}
message EmptyResponse {}
service RegistryService {
rpc RegisterServer(RegisterServerRequest) returns (RegisterServerResponse) {
option (google.api.http) = {
post: "/v1/registry/servers"
body: "*"
};
}
rpc Heartbeat(HeartbeatRequest) returns (EmptyResponse) {
option (google.api.http) = {
post: "/v1/registry/heartbeat"
body: "*"
};
}
rpc ListServers(ListServersRequest) returns (ListServersResponse) {
option (google.api.http) = {
get: "/v1/registry/servers"
};
}
}