@@ -41,6 +41,7 @@ import (
4141 "google.golang.org/grpc/credentials/insecure"
4242 "google.golang.org/grpc/health"
4343 "google.golang.org/grpc/health/grpc_health_v1"
44+ "google.golang.org/protobuf/types/known/timestamppb"
4445
4546 "github.com/apache/skywalking-banyandb/api/common"
4647 commonv1 "github.com/apache/skywalking-banyandb/api/proto/banyandb/common/v1"
@@ -70,6 +71,7 @@ var _ service = (*lifecycleService)(nil)
7071
7172type lifecycleService struct {
7273 databasev1.UnimplementedClusterStateServiceServer
74+ databasev1.UnimplementedNodeQueryServiceServer
7375 metadata metadata.Repo
7476 omr observability.MetricsRegistry
7577 pm protector.Memory
@@ -79,6 +81,7 @@ type lifecycleService struct {
7981 grpcServer * grpclib.Server
8082 httpSrv * http.Server
8183 tlsReloader * pkgtls.Reloader
84+ currentNode * databasev1.Node
8285 clientCloser context.CancelFunc
8386 stopCh chan struct {}
8487 measureRoot string
@@ -165,6 +168,16 @@ func (l *lifecycleService) Validate() error {
165168 return errors .New ("missing key file when TLS is enabled" )
166169 }
167170 }
171+ l .currentNode = & databasev1.Node {
172+ Metadata : & commonv1.Metadata {
173+ Name : l .lifecycleGRPCAddr ,
174+ },
175+ GrpcAddress : l .lifecycleGRPCAddr ,
176+ HttpAddress : l .lifecycleHTTPAddr ,
177+ Roles : make ([]databasev1.Role , 0 ),
178+ Labels : common .ParseNodeFlags (),
179+ CreatedAt : timestamppb .Now (),
180+ }
168181 }
169182 return nil
170183}
@@ -309,6 +322,7 @@ func (l *lifecycleService) startServers() {
309322
310323 l .grpcServer = grpclib .NewServer (opts ... )
311324 databasev1 .RegisterClusterStateServiceServer (l .grpcServer , l )
325+ databasev1 .RegisterNodeQueryServiceServer (l .grpcServer , l )
312326 grpc_health_v1 .RegisterHealthServer (l .grpcServer , health .NewServer ())
313327
314328 // Setup HTTP server
0 commit comments