FeatureFlags: manage feature flags outside of settings.Cfg (#43692)

This commit is contained in:
Ryan McKinley
2022-01-20 13:42:05 -08:00
committed by GitHub
parent 7fbc7d019a
commit f94c0decbd
65 changed files with 1244 additions and 252 deletions

View File

@@ -37,7 +37,7 @@ func (s *Service) SubscribeStream(_ context.Context, req *backend.SubscribeStrea
}
}
if s.cfg.FeatureToggles["live-pipeline"] {
if s.features.IsLivePipelineEnabled() {
// While developing Live pipeline avoid sending initial data.
initialData = nil
}
@@ -126,7 +126,7 @@ func (s *Service) runTestStream(ctx context.Context, path string, conf testStrea
}
mode := data.IncludeDataOnly
if s.cfg.FeatureToggles["live-pipeline"] {
if s.features.IsLivePipelineEnabled() {
mode = data.IncludeAll
}

View File

@@ -10,11 +10,13 @@ import (
"github.com/grafana/grafana-plugin-sdk-go/data"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/featuremgmt"
"github.com/grafana/grafana/pkg/setting"
)
func ProvideService(cfg *setting.Cfg) *Service {
func ProvideService(cfg *setting.Cfg, features *featuremgmt.FeatureToggles) *Service {
s := &Service{
features: features,
queryMux: datasource.NewQueryTypeMux(),
scenarios: map[string]*Scenario{},
frame: data.NewFrame("testdata",
@@ -46,6 +48,7 @@ type Service struct {
labelFrame *data.Frame
queryMux *datasource.QueryTypeMux
resourceHandler backend.CallResourceHandler
features *featuremgmt.FeatureToggles
}
func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) {