Secrets: Make the Migrator extensible (#67307)
* [Chore] Remove setting provider from secret service Co-authored-by: Tania B <yalyna.ts@gmail.com> Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com> * Add a ShouldBeRedacted func Co-authored-by: Tania B <yalyna.ts@gmail.com> Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com> * Secrets: Make Migrator extensible Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com> Co-authored-by: Tania B <yalyna.ts@gmail.com> * Alerting: Fix tests after refactor Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com> Co-authored-by: Tania B <yalyna.ts@gmail.com> * Remove commented code no longer used * Fix Wire bindings Co-authored-by: Tania B <yalyna.ts@gmail.com> * Add constructors to secrets * Linting * Undo undesired change --------- Co-authored-by: gamab <gabi.mabs@gmail.com> Co-authored-by: Tania B <yalyna.ts@gmail.com> Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
This commit is contained in:
co-authored by
Tania B
Joan López de la Franca Beltran
Gabriel MABILLE
gamab
parent
a50afe67d3
commit
cc65b4d46a
@@ -39,19 +39,18 @@ func setupTestService(tb testing.TB, store secrets.Store, features *featuremgmt.
|
||||
require.NoError(tb, err)
|
||||
|
||||
cfg := &setting.Cfg{Raw: raw}
|
||||
settings := &setting.OSSImpl{Cfg: cfg}
|
||||
|
||||
encProvider := encryptionprovider.Provider{}
|
||||
usageStats := &usagestats.UsageStatsMock{}
|
||||
|
||||
encryption, err := encryptionservice.ProvideEncryptionService(encProvider, usageStats, settings)
|
||||
encryption, err := encryptionservice.ProvideEncryptionService(encProvider, usageStats, cfg)
|
||||
require.NoError(tb, err)
|
||||
|
||||
secretsService, err := ProvideSecretsService(
|
||||
store,
|
||||
osskmsproviders.ProvideService(encryption, settings, features),
|
||||
osskmsproviders.ProvideService(encryption, cfg, features),
|
||||
encryption,
|
||||
settings,
|
||||
cfg,
|
||||
features,
|
||||
&usagestats.UsageStatsMock{T: tb},
|
||||
)
|
||||
|
||||
@@ -37,7 +37,7 @@ var (
|
||||
type SecretsService struct {
|
||||
store secrets.Store
|
||||
enc encryption.Internal
|
||||
settings setting.Provider
|
||||
cfg *setting.Cfg
|
||||
features featuremgmt.FeatureToggles
|
||||
usageStats usagestats.Service
|
||||
|
||||
@@ -57,20 +57,20 @@ func ProvideSecretsService(
|
||||
store secrets.Store,
|
||||
kmsProvidersService kmsproviders.Service,
|
||||
enc encryption.Internal,
|
||||
settings setting.Provider,
|
||||
cfg *setting.Cfg,
|
||||
features featuremgmt.FeatureToggles,
|
||||
usageStats usagestats.Service,
|
||||
) (*SecretsService, error) {
|
||||
ttl := settings.KeyValue("security.encryption", "data_keys_cache_ttl").MustDuration(15 * time.Minute)
|
||||
ttl := cfg.SectionWithEnvOverrides("security.encryption").Key("data_keys_cache_ttl").MustDuration(15 * time.Minute)
|
||||
|
||||
currentProviderID := kmsproviders.NormalizeProviderID(secrets.ProviderID(
|
||||
settings.KeyValue("security", "encryption_provider").MustString(kmsproviders.Default),
|
||||
cfg.SectionWithEnvOverrides("security").Key("encryption_provider").MustString(kmsproviders.Default),
|
||||
))
|
||||
|
||||
s := &SecretsService{
|
||||
store: store,
|
||||
enc: enc,
|
||||
settings: settings,
|
||||
cfg: cfg,
|
||||
usageStats: usageStats,
|
||||
kmsProvidersService: kmsProvidersService,
|
||||
dataKeyCache: newDataKeyCache(ttl),
|
||||
@@ -342,7 +342,7 @@ func (s *SecretsService) Decrypt(ctx context.Context, payload []byte) ([]byte, e
|
||||
var dataKey []byte
|
||||
|
||||
if !s.encryptedWithEnvelopeEncryption(payload) {
|
||||
secretKey := s.settings.KeyValue("security", "secret_key").Value()
|
||||
secretKey := s.cfg.SectionWithEnvOverrides("security").Key("secret_key").Value()
|
||||
dataKey = []byte(secretKey)
|
||||
} else {
|
||||
payload = payload[1:]
|
||||
@@ -491,7 +491,7 @@ func (s *SecretsService) ReEncryptDataKeys(ctx context.Context) error {
|
||||
|
||||
func (s *SecretsService) Run(ctx context.Context) error {
|
||||
gc := time.NewTicker(
|
||||
s.settings.KeyValue("security.encryption", "data_keys_cache_cleanup_interval").
|
||||
s.cfg.SectionWithEnvOverrides("security.encryption").Key("data_keys_cache_cleanup_interval").
|
||||
MustDuration(time.Minute),
|
||||
)
|
||||
|
||||
|
||||
@@ -182,16 +182,16 @@ func TestSecretsService_UseCurrentProvider(t *testing.T) {
|
||||
raw, err := ini.Load([]byte(rawCfg))
|
||||
require.NoError(t, err)
|
||||
|
||||
settings := &setting.OSSImpl{Cfg: &setting.Cfg{Raw: raw}}
|
||||
cfg := &setting.Cfg{Raw: raw}
|
||||
|
||||
encProvider := encryptionprovider.Provider{}
|
||||
usageStats := &usagestats.UsageStatsMock{}
|
||||
|
||||
encryptionService, err := encryptionservice.ProvideEncryptionService(encProvider, usageStats, settings)
|
||||
encryptionService, err := encryptionservice.ProvideEncryptionService(encProvider, usageStats, cfg)
|
||||
require.NoError(t, err)
|
||||
|
||||
features := featuremgmt.WithFeatures()
|
||||
kms := newFakeKMS(osskmsproviders.ProvideService(encryptionService, settings, features))
|
||||
kms := newFakeKMS(osskmsproviders.ProvideService(encryptionService, cfg, features))
|
||||
testDB := db.InitTestDB(t)
|
||||
secretStore := database.ProvideSecretsStore(testDB)
|
||||
|
||||
@@ -199,7 +199,7 @@ func TestSecretsService_UseCurrentProvider(t *testing.T) {
|
||||
secretStore,
|
||||
&kms,
|
||||
encryptionService,
|
||||
settings,
|
||||
cfg,
|
||||
features,
|
||||
&usagestats.UsageStatsMock{T: t},
|
||||
)
|
||||
@@ -217,7 +217,7 @@ func TestSecretsService_UseCurrentProvider(t *testing.T) {
|
||||
secretStore,
|
||||
&kms,
|
||||
encryptionService,
|
||||
settings,
|
||||
cfg,
|
||||
features,
|
||||
&usagestats.UsageStatsMock{T: t},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user