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
|
package server
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/grafana/grafana/pkg/services/grpcserver"
|
||||||
"github.com/grafana/grafana/pkg/services/notifications"
|
"github.com/grafana/grafana/pkg/services/notifications"
|
||||||
"github.com/grafana/grafana/pkg/services/sqlstore"
|
"github.com/grafana/grafana/pkg/services/sqlstore"
|
||||||
)
|
)
|
||||||
|
|
||||||
func ProvideTestEnv(server *Server, store *sqlstore.SQLStore, ns *notifications.NotificationServiceMock) (*TestEnv, error) {
|
func ProvideTestEnv(server *Server, store *sqlstore.SQLStore, ns *notifications.NotificationServiceMock, grpcServer grpcserver.Provider) (*TestEnv, error) {
|
||||||
return &TestEnv{server, store, ns}, nil
|
return &TestEnv{server, store, ns, grpcServer}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type TestEnv struct {
|
type TestEnv struct {
|
||||||
Server *Server
|
Server *Server
|
||||||
SQLStore *sqlstore.SQLStore
|
SQLStore *sqlstore.SQLStore
|
||||||
NotificationService *notifications.NotificationServiceMock
|
NotificationService *notifications.NotificationServiceMock
|
||||||
|
GRPCServer grpcserver.Provider
|
||||||
}
|
}
|
||||||
|
@ -21,12 +21,14 @@ import (
|
|||||||
type Provider interface {
|
type Provider interface {
|
||||||
registry.BackgroundService
|
registry.BackgroundService
|
||||||
GetServer() *grpc.Server
|
GetServer() *grpc.Server
|
||||||
|
GetAddress() string
|
||||||
}
|
}
|
||||||
|
|
||||||
type GPRCServerService struct {
|
type GPRCServerService struct {
|
||||||
cfg *setting.Cfg
|
cfg *setting.Cfg
|
||||||
logger log.Logger
|
logger log.Logger
|
||||||
server *grpc.Server
|
server *grpc.Server
|
||||||
|
address string
|
||||||
}
|
}
|
||||||
|
|
||||||
func ProvideService(cfg *setting.Cfg, apiKey apikey.Service, userService user.Service) (Provider, error) {
|
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)
|
return fmt.Errorf("GRPC server: failed to listen: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s.address = listener.Addr().String()
|
||||||
|
|
||||||
serveErr := make(chan error, 1)
|
serveErr := make(chan error, 1)
|
||||||
go func() {
|
go func() {
|
||||||
s.logger.Info("GRPC server: starting")
|
s.logger.Info("GRPC server: starting")
|
||||||
@ -93,3 +97,7 @@ func (s *GPRCServerService) IsDisabled() bool {
|
|||||||
func (s *GPRCServerService) GetServer() *grpc.Server {
|
func (s *GPRCServerService) GetServer() *grpc.Server {
|
||||||
return s.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")
|
_, err = logSection.NewKey("enabled", "false")
|
||||||
require.NoError(t, err)
|
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")
|
cfgPath := filepath.Join(cfgDir, "test.ini")
|
||||||
@ -341,4 +347,5 @@ type GrafanaOpts struct {
|
|||||||
EnableUnifiedAlerting bool
|
EnableUnifiedAlerting bool
|
||||||
UnifiedAlertingDisabledOrgs []int64
|
UnifiedAlertingDisabledOrgs []int64
|
||||||
EnableLog bool
|
EnableLog bool
|
||||||
|
GRPCServerAddress string
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user