mirror of https://github.com/grafana/grafana
Encryption: Refactor secrets service (#41771)
* Refactor kmsproviders pkg * Update tests * Fix linting Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>pull/41800/head
parent
b8dd9fdd4a
commit
bc60ae3c66
@ -0,0 +1,11 @@ |
||||
package kmsproviders |
||||
|
||||
import "github.com/grafana/grafana/pkg/services/secrets" |
||||
|
||||
const ( |
||||
Default = "secretKey" |
||||
) |
||||
|
||||
type Service interface { |
||||
Provide() (map[string]secrets.Provider, error) |
||||
} |
||||
@ -0,0 +1,31 @@ |
||||
package osskmsproviders |
||||
|
||||
import ( |
||||
"github.com/grafana/grafana/pkg/services/encryption" |
||||
"github.com/grafana/grafana/pkg/services/kmsproviders" |
||||
"github.com/grafana/grafana/pkg/services/secrets" |
||||
grafana "github.com/grafana/grafana/pkg/services/secrets/defaultprovider" |
||||
"github.com/grafana/grafana/pkg/setting" |
||||
) |
||||
|
||||
type Service struct { |
||||
enc encryption.Internal |
||||
settings setting.Provider |
||||
} |
||||
|
||||
func ProvideService(enc encryption.Internal, settings setting.Provider) Service { |
||||
return Service{ |
||||
enc: enc, |
||||
settings: settings, |
||||
} |
||||
} |
||||
|
||||
func (s Service) Provide() (map[string]secrets.Provider, error) { |
||||
if !s.settings.IsFeatureToggleEnabled(secrets.EnvelopeEncryptionFeatureToggle) { |
||||
return nil, nil |
||||
} |
||||
|
||||
return map[string]secrets.Provider{ |
||||
kmsproviders.Default: grafana.New(s.settings, s.enc), |
||||
}, nil |
||||
} |
||||
Loading…
Reference in new issue