Skip to content

Commit 25121f6

Browse files
committed
proto: introduce aeon_internal.proto
This patch adds `aeon_internal.proto` which will be used to implement the internal RPC.
1 parent 4df5e80 commit 25121f6

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

aeon_internal.proto

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
syntax = "proto3";
2+
3+
import "aeon_error.proto";
4+
import "aeon_value.proto";
5+
6+
package aeon;
7+
8+
// Internal API to Aeon - a distributed database based on Tarantool.
9+
service InternalService {
10+
// Get configurations of all instances.
11+
rpc GetConfig(GetConfigRequest) returns (GetConfigResponse) {}
12+
}
13+
14+
// Get configurations of all instances.
15+
16+
// General structure of returned configuration
17+
message Config {
18+
// Structure of configuration of single instance.
19+
message Instance {
20+
// Name of the instance.
21+
string name = 1;
22+
// Replicaset of the instance.
23+
string replicaset = 2;
24+
// Group of the instance.
25+
string group = 3;
26+
// URI of the instance.
27+
Value uri = 4;
28+
// Instance roles.
29+
repeated string roles = 5;
30+
}
31+
// The name of the instance that provided this configuration.
32+
string name = 1;
33+
// The configuration of the "aeon.grpc" role of the instance
34+
// that provided the configuration.
35+
Value params = 2;
36+
// Configurations of all instances.
37+
repeated Instance instances = 3;
38+
}
39+
40+
message GetConfigRequest {}
41+
42+
message GetConfigResponse {
43+
// Error information. Set only on failure.
44+
Error error = 1;
45+
// Configurations of instances.
46+
Config config = 2;
47+
}

0 commit comments

Comments
 (0)