FeatureToggls: remove IsFeatureToggleEnabled from SettingsProvider (#44574)
This commit is contained in:
@@ -37,9 +37,10 @@ func SetupTestService(tb testing.TB, store secrets.Store) *SecretsService {
|
||||
encryption := ossencryption.ProvideService()
|
||||
secretsService, err := ProvideSecretsService(
|
||||
store,
|
||||
osskmsproviders.ProvideService(encryption, settings),
|
||||
osskmsproviders.ProvideService(encryption, settings, features),
|
||||
encryption,
|
||||
settings,
|
||||
features,
|
||||
&usagestats.UsageStatsMock{T: tb},
|
||||
)
|
||||
require.NoError(tb, err)
|
||||
|
||||
@@ -24,6 +24,7 @@ type SecretsService struct {
|
||||
store secrets.Store
|
||||
enc encryption.Internal
|
||||
settings setting.Provider
|
||||
features featuremgmt.FeatureToggles
|
||||
usageStats usagestats.Service
|
||||
|
||||
currentProviderID secrets.ProviderID
|
||||
@@ -37,6 +38,7 @@ func ProvideSecretsService(
|
||||
kmsProvidersService kmsproviders.Service,
|
||||
enc encryption.Internal,
|
||||
settings setting.Provider,
|
||||
features featuremgmt.FeatureToggles,
|
||||
usageStats usagestats.Service,
|
||||
) (*SecretsService, error) {
|
||||
providers, err := kmsProvidersService.Provide()
|
||||
@@ -45,7 +47,7 @@ func ProvideSecretsService(
|
||||
}
|
||||
|
||||
logger := log.New("secrets")
|
||||
enabled := settings.IsFeatureToggleEnabled(featuremgmt.FlagEnvelopeEncryption)
|
||||
enabled := features.IsEnabled(featuremgmt.FlagEnvelopeEncryption)
|
||||
currentProviderID := readCurrentProviderID(settings)
|
||||
|
||||
if _, ok := providers[currentProviderID]; enabled && !ok {
|
||||
@@ -66,6 +68,7 @@ func ProvideSecretsService(
|
||||
providers: providers,
|
||||
currentProviderID: currentProviderID,
|
||||
dataKeyCache: make(map[string]dataKeyCacheItem),
|
||||
features: features,
|
||||
log: logger,
|
||||
}
|
||||
|
||||
@@ -89,7 +92,7 @@ func (s *SecretsService) registerUsageMetrics() {
|
||||
|
||||
// Enabled / disabled
|
||||
usageMetrics["stats.encryption.envelope_encryption_enabled.count"] = 0
|
||||
if s.settings.IsFeatureToggleEnabled(featuremgmt.FlagEnvelopeEncryption) {
|
||||
if s.features.IsEnabled(featuremgmt.FlagEnvelopeEncryption) {
|
||||
usageMetrics["stats.encryption.envelope_encryption_enabled.count"] = 1
|
||||
}
|
||||
|
||||
@@ -132,7 +135,7 @@ func (s *SecretsService) Encrypt(ctx context.Context, payload []byte, opt secret
|
||||
|
||||
func (s *SecretsService) EncryptWithDBSession(ctx context.Context, payload []byte, opt secrets.EncryptionOptions, sess *xorm.Session) ([]byte, error) {
|
||||
// Use legacy encryption service if envelopeEncryptionFeatureToggle toggle is off
|
||||
if !s.settings.IsFeatureToggleEnabled(featuremgmt.FlagEnvelopeEncryption) {
|
||||
if !s.features.IsEnabled(featuremgmt.FlagEnvelopeEncryption) {
|
||||
return s.enc.Encrypt(ctx, payload, setting.SecretKey)
|
||||
}
|
||||
|
||||
@@ -175,7 +178,7 @@ func (s *SecretsService) keyName(scope string) string {
|
||||
|
||||
func (s *SecretsService) Decrypt(ctx context.Context, payload []byte) ([]byte, error) {
|
||||
// Use legacy encryption service if featuremgmt.FlagEnvelopeEncryption toggle is off
|
||||
if !s.settings.IsFeatureToggleEnabled(featuremgmt.FlagEnvelopeEncryption) {
|
||||
if !s.features.IsEnabled(featuremgmt.FlagEnvelopeEncryption) {
|
||||
return s.enc.Decrypt(ctx, payload, setting.SecretKey)
|
||||
}
|
||||
|
||||
|
||||
@@ -178,15 +178,16 @@ func TestSecretsService_UseCurrentProvider(t *testing.T) {
|
||||
raw, err := ini.Load([]byte(rawCfg))
|
||||
require.NoError(t, err)
|
||||
|
||||
features := featuremgmt.WithFeatures(featuremgmt.FlagEnvelopeEncryption)
|
||||
providerID := secrets.ProviderID("fakeProvider.v1")
|
||||
settings := &setting.OSSImpl{
|
||||
Cfg: &setting.Cfg{
|
||||
Raw: raw,
|
||||
IsFeatureToggleEnabled: featuremgmt.WithFeatures(featuremgmt.FlagEnvelopeEncryption).IsEnabled,
|
||||
IsFeatureToggleEnabled: features.IsEnabled,
|
||||
},
|
||||
}
|
||||
encr := ossencryption.ProvideService()
|
||||
kms := newFakeKMS(osskmsproviders.ProvideService(encr, settings))
|
||||
kms := newFakeKMS(osskmsproviders.ProvideService(encr, settings, features))
|
||||
secretStore := database.ProvideSecretsStore(sqlstore.InitTestDB(t))
|
||||
|
||||
svcEncrypt, err := ProvideSecretsService(
|
||||
@@ -194,6 +195,7 @@ func TestSecretsService_UseCurrentProvider(t *testing.T) {
|
||||
&kms,
|
||||
encr,
|
||||
settings,
|
||||
features,
|
||||
&usagestats.UsageStatsMock{T: t},
|
||||
)
|
||||
require.NoError(t, err)
|
||||
@@ -211,6 +213,7 @@ func TestSecretsService_UseCurrentProvider(t *testing.T) {
|
||||
&kms,
|
||||
encr,
|
||||
settings,
|
||||
features,
|
||||
&usagestats.UsageStatsMock{T: t},
|
||||
)
|
||||
require.NoError(t, err)
|
||||
|
||||
Reference in New Issue
Block a user