mirror of
https://github.com/grafana/grafana.git
synced 2025-09-23 18:52:33 +08:00

* setup distributor module * move lifecycler into resource server provider * remove ring/client pool setup from distributor module and use the same ring/client pool between storage server module and distributor module * implement resourcestore server methods * make healthcheck fail if ring is not running
43 lines
1.5 KiB
Go
43 lines
1.5 KiB
Go
package server
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/dskit/services"
|
|
"github.com/grafana/grafana/pkg/modules"
|
|
"github.com/grafana/grafana/pkg/services/grpcserver"
|
|
"github.com/grafana/grafana/pkg/services/grpcserver/interceptors"
|
|
"github.com/grafana/grafana/pkg/storage/unified/resource"
|
|
resourcegrpc "github.com/grafana/grafana/pkg/storage/unified/resource/grpc"
|
|
"github.com/grafana/grafana/pkg/storage/unified/sql"
|
|
"go.opentelemetry.io/otel"
|
|
)
|
|
|
|
func (ms *ModuleServer) initDistributor() (services.Service, error) {
|
|
distributor := &distributorService{}
|
|
|
|
tracer := otel.Tracer("unified-storage-distributor")
|
|
// FIXME: This is a temporary solution while we are migrating to the new authn interceptor
|
|
// grpcutils.NewGrpcAuthenticator should be used instead.
|
|
authn := sql.NewAuthenticatorWithFallback(ms.cfg, ms.registerer, tracer, func(ctx context.Context) (context.Context, error) {
|
|
auth := resourcegrpc.Authenticator{Tracer: tracer}
|
|
return auth.Authenticate(ctx)
|
|
})
|
|
|
|
var err error
|
|
distributor.grpcHandler, err = resource.ProvideDistributorServer(ms.cfg, ms.features, interceptors.AuthenticatorFunc(authn), ms.registerer, tracer, ms.storageRing, ms.storageRingClientPool)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return services.NewBasicService(nil, distributor.running, nil).WithName(modules.Distributor), nil
|
|
}
|
|
|
|
type distributorService struct {
|
|
grpcHandler grpcserver.Provider
|
|
}
|
|
|
|
func (d *distributorService) running(ctx context.Context) error {
|
|
return d.grpcHandler.Run(ctx)
|
|
}
|