mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: expose grpc server address (#56013)
This commit is contained in:
parent
1e8f8dff4b
commit
64eff8196c
@ -1,16 +1,18 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"github.com/grafana/grafana/pkg/services/grpcserver"
|
||||
"github.com/grafana/grafana/pkg/services/notifications"
|
||||
"github.com/grafana/grafana/pkg/services/sqlstore"
|
||||
)
|
||||
|
||||
func ProvideTestEnv(server *Server, store *sqlstore.SQLStore, ns *notifications.NotificationServiceMock) (*TestEnv, error) {
|
||||
return &TestEnv{server, store, ns}, nil
|
||||
func ProvideTestEnv(server *Server, store *sqlstore.SQLStore, ns *notifications.NotificationServiceMock, grpcServer grpcserver.Provider) (*TestEnv, error) {
|
||||
return &TestEnv{server, store, ns, grpcServer}, nil
|
||||
}
|
||||
|
||||
type TestEnv struct {
|
||||
Server *Server
|
||||
SQLStore *sqlstore.SQLStore
|
||||
NotificationService *notifications.NotificationServiceMock
|
||||
GRPCServer grpcserver.Provider
|
||||
}
|
||||
|
@ -21,12 +21,14 @@ import (
|
||||
type Provider interface {
|
||||
registry.BackgroundService
|
||||
GetServer() *grpc.Server
|
||||
GetAddress() string
|
||||
}
|
||||
|
||||
type GPRCServerService struct {
|
||||
cfg *setting.Cfg
|
||||
logger log.Logger
|
||||
server *grpc.Server
|
||||
cfg *setting.Cfg
|
||||
logger log.Logger
|
||||
server *grpc.Server
|
||||
address string
|
||||
}
|
||||
|
||||
func ProvideService(cfg *setting.Cfg, apiKey apikey.Service, userService user.Service) (Provider, error) {
|
||||
@ -62,6 +64,8 @@ func (s *GPRCServerService) Run(ctx context.Context) error {
|
||||
return fmt.Errorf("GRPC server: failed to listen: %w", err)
|
||||
}
|
||||
|
||||
s.address = listener.Addr().String()
|
||||
|
||||
serveErr := make(chan error, 1)
|
||||
go func() {
|
||||
s.logger.Info("GRPC server: starting")
|
||||
@ -93,3 +97,7 @@ func (s *GPRCServerService) IsDisabled() bool {
|
||||
func (s *GPRCServerService) GetServer() *grpc.Server {
|
||||
return s.server
|
||||
}
|
||||
|
||||
func (s *GPRCServerService) GetAddress() string {
|
||||
return s.address
|
||||
}
|
||||
|
@ -311,6 +311,12 @@ func CreateGrafDir(t *testing.T, opts ...GrafanaOpts) (string, string) {
|
||||
_, err = logSection.NewKey("enabled", "false")
|
||||
require.NoError(t, err)
|
||||
}
|
||||
if o.GRPCServerAddress != "" {
|
||||
logSection, err := getOrCreateSection("grpc_server")
|
||||
require.NoError(t, err)
|
||||
_, err = logSection.NewKey("address", o.GRPCServerAddress)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
cfgPath := filepath.Join(cfgDir, "test.ini")
|
||||
@ -341,4 +347,5 @@ type GrafanaOpts struct {
|
||||
EnableUnifiedAlerting bool
|
||||
UnifiedAlertingDisabledOrgs []int64
|
||||
EnableLog bool
|
||||
GRPCServerAddress string
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user