* Add config provider and integrate with wire setup * Refactor quota service to use config provider for configuration management * Enhance OSSConfigProvider to include logging and update ProvideService to return an error. Refactor server initialization to handle potential errors from config provider. Remove unnecessary wire binding for OSSConfigProvider. * Update CODEOWNERS to include the configprovider package under the grafana-backend-services-squad. * Refactor quota service initialization to include context in multiple service providers. Update tests and service implementations to ensure proper context handling during service creation.
27 lines
534 B
Go
27 lines
534 B
Go
package configprovider
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/grafana/pkg/infra/log"
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
)
|
|
|
|
type ConfigProvider interface {
|
|
Get(context.Context) *setting.Cfg
|
|
}
|
|
|
|
type OSSConfigProvider struct {
|
|
Cfg *setting.Cfg
|
|
log log.Logger
|
|
}
|
|
|
|
func (c *OSSConfigProvider) Get(_ context.Context) *setting.Cfg {
|
|
c.log.Debug("OSSConfigProvider Get")
|
|
return c.Cfg
|
|
}
|
|
|
|
func ProvideService(cfg *setting.Cfg) (ConfigProvider, error) {
|
|
return &OSSConfigProvider{Cfg: cfg, log: log.New("configprovider")}, nil
|
|
}
|