mirror of
https://github.com/grafana/grafana.git
synced 2026-08-18 17:15:08 -05:00
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>
This commit is contained in:
co-authored by
Joan López de la Franca Beltran
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
|
||||
}
|
||||
Reference in New Issue
Block a user