Merge branch 'secrets-manager-plugin' into smp-error-handling

This commit is contained in:
Michael Mandrus committed 2022-06-08 17:30:33 -04:00
commit 55fde1499a
5 files changed
+18 -13

No files matched your search

+1 -1
View File
@@ -47,7 +47,7 @@ type RendererManager interface {
Renderer() *Plugin
}
type SecretsManagerManager interface {
type SecretsPluginManager interface {
// SecretsManager returns a secretsmanager plugin
SecretsManager() *Plugin
}
+1 -1
View File
@@ -24,7 +24,7 @@ var _ plugins.Client = (*PluginManager)(nil)
var _ plugins.Store = (*PluginManager)(nil)
var _ plugins.StaticRouteResolver = (*PluginManager)(nil)
var _ plugins.RendererManager = (*PluginManager)(nil)
var _ plugins.SecretsManagerManager = (*PluginManager)(nil)
var _ plugins.SecretsPluginManager = (*PluginManager)(nil)
type PluginManager struct {
cfg *plugins.Cfg
+1 -1
View File
@@ -149,7 +149,7 @@ var wireBasicSet = wire.NewSet(
wire.Bind(new(plugins.DashboardFileStore), new(*manager.PluginManager)),
wire.Bind(new(plugins.StaticRouteResolver), new(*manager.PluginManager)),
wire.Bind(new(plugins.RendererManager), new(*manager.PluginManager)),
wire.Bind(new(plugins.SecretsManagerManager), new(*manager.PluginManager)),
wire.Bind(new(plugins.SecretsPluginManager), new(*manager.PluginManager)),
coreplugin.ProvideCoreRegistry,
loader.ProvideService,
wire.Bind(new(loader.Service), new(*loader.Loader)),
+11 -6
View File
@@ -16,14 +16,19 @@ const (
func ProvideService(sqlStore sqlstore.Store, secretsService secrets.Service, remoteCheck UseRemoteSecretsPluginCheck) SecretsKVStore {
logger := log.New("secrets.kvstore")
if remoteCheck.ShouldUseRemoteSecretsPlugin() {
logger.Info("secrets kvstore is using a remote plugin for secrets management")
return &secretsKVStorePlugin{
secretsPlugin: remoteCheck.GetManager().SecretsManager().SecretsManager,
secretsService: secretsService,
log: logger,
logger.Debug("secrets kvstore is using a remote plugin for secrets management")
secretsPlugin, err := remoteCheck.GetPlugin()
if err != nil {
logger.Error("plugin client was nil, falling back to SQL implementation")
} else {
return &secretsKVStorePlugin{
secretsPlugin: secretsPlugin,
secretsService: secretsService,
log: logger,
}
}
}
logger.Info("secrets kvstore is using the default (SQL) implementation for secrets management")
logger.Debug("secrets kvstore is using the default (SQL) implementation for secrets management")
return &secretsKVStoreSQL{
sqlStore: sqlStore,
secretsService: secretsService,
@@ -1,12 +1,12 @@
package kvstore
import (
"github.com/grafana/grafana/pkg/plugins/manager"
"github.com/grafana/grafana/pkg/plugins/backendplugin/secretsmanagerplugin"
)
type UseRemoteSecretsPluginCheck interface {
ShouldUseRemoteSecretsPlugin() bool
GetManager() *manager.PluginManager
GetPlugin() (secretsmanagerplugin.SecretsManagerPlugin, error)
}
type OSSRemoteSecretsPluginCheck struct {
@@ -21,6 +21,6 @@ func (c *OSSRemoteSecretsPluginCheck) ShouldUseRemoteSecretsPlugin() bool {
return false
}
func (c *OSSRemoteSecretsPluginCheck) GetManager() *manager.PluginManager {
return nil
func (c *OSSRemoteSecretsPluginCheck) GetPlugin() (secretsmanagerplugin.SecretsManagerPlugin, error) {
return nil, nil
}