Files
grafana/pkg/services/accesscontrol/fixedrolesloader.go
Denis Vodopianov 81683d554d chore : Deprecating FeatureToggles.IsEnabledGlobally (#112885)
* add deprecation on featuremgmt.IsEnabledGlobally

* add nolint reason

* add reasonable deprecation message

* remove junk edits

* add more nolints

* addressing review comments

* Update pkg/services/featuremgmt/models.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-24 12:02:53 -04:00

59 lines
1.4 KiB
Go

package accesscontrol
import (
"context"
"github.com/grafana/dskit/services"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/featuremgmt"
)
const FixedRolesLoaderServiceName = "accesscontrol.fixedrolesloader"
type FixedRolesLoader struct {
services.NamedService
roleRegistry RoleRegistry
features featuremgmt.FeatureToggles
log log.Logger
}
func ProvideFixedRolesLoader(roleRegistry RoleRegistry, features featuremgmt.FeatureToggles) *FixedRolesLoader {
loader := &FixedRolesLoader{
roleRegistry: roleRegistry,
features: features,
log: log.New(FixedRolesLoaderServiceName),
}
loader.NamedService = services.NewBasicService(loader.starting, loader.running, nil).WithName(FixedRolesLoaderServiceName)
return loader
}
func (l *FixedRolesLoader) starting(ctx context.Context) error {
ctxLogger := l.log.FromContext(ctx)
ctxLogger.Debug("Registering fixed roles")
if err := l.roleRegistry.RegisterFixedRoles(ctx); err != nil {
ctxLogger.Error("Failed to register fixed roles", "error", err)
return err
}
return nil
}
func (l *FixedRolesLoader) running(ctx context.Context) error {
<-ctx.Done()
return nil
}
func (l *FixedRolesLoader) IsDisabled() bool {
//nolint:staticcheck // not yet migrated to OpenFeature
return !l.features.IsEnabledGlobally(featuremgmt.FlagPluginStoreServiceLoading)
}
func (l *FixedRolesLoader) Run(ctx context.Context) error {
<-ctx.Done()
return nil
}