add OSS remote plugin check

This commit is contained in:
Michael Mandrus
2022-05-24 16:13:59 -04:00
parent 8a4ac7b6db
commit b28668148e
3 changed files with 26 additions and 6 deletions
+2
View File
@@ -246,6 +246,8 @@ var wireBasicSet = wire.NewSet(
wire.Bind(new(alerting.DashAlertExtractor), new(*alerting.DashAlertExtractorService)),
comments.ProvideService,
guardian.ProvideService,
secretsStore.ProvideRemotePluginCheck,
wire.Bind(new(secretsStore.UseRemoteSecretsPluginCheck), new(*secretsStore.OSSRemoteSecretsPluginCheck)),
secretsStore.ProvideService,
avatar.ProvideAvatarCacheServer,
authproxy.ProvideAuthProxy,
+3 -4
View File
@@ -4,7 +4,6 @@ import (
"context"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/plugins"
"github.com/grafana/grafana/pkg/services/secrets"
"github.com/grafana/grafana/pkg/services/sqlstore"
)
@@ -14,11 +13,11 @@ const (
AllOrganizations = -1
)
func ProvideService(sqlStore sqlstore.Store, secretsService secrets.Service, sm plugins.SecretsManagerManager) SecretsKVStore {
func ProvideService(sqlStore sqlstore.Store, secretsService secrets.Service, remoteCheck UseRemoteSecretsPluginCheck) SecretsKVStore {
logger := log.New("secrets.kvstore")
if shouldUseRemoteSecretsPlugin(&sm) {
if remoteCheck.ShouldUseRemoteSecretsPlugin() {
return &secretsKVStorePlugin{
secretsPlugin: sm.SecretsManager().SecretsManager,
secretsPlugin: remoteCheck.GetManager().SecretsManager().SecretsManager,
secretsService: secretsService,
log: logger,
}
@@ -1,7 +1,26 @@
package kvstore
import "github.com/grafana/grafana/pkg/plugins"
import (
"github.com/grafana/grafana/pkg/plugins"
)
func shouldUseRemoteSecretsPlugin(sm *plugins.SecretsManagerManager) bool {
type UseRemoteSecretsPluginCheck interface {
ShouldUseRemoteSecretsPlugin() bool
GetManager() plugins.SecretsManagerManager
}
type OSSRemoteSecretsPluginCheck struct {
UseRemoteSecretsPluginCheck
}
func ProvideRemotePluginCheck() *OSSRemoteSecretsPluginCheck {
return &OSSRemoteSecretsPluginCheck{}
}
func (c *OSSRemoteSecretsPluginCheck) ShouldUseRemoteSecretsPlugin() bool {
return false
}
func (c *OSSRemoteSecretsPluginCheck) GetManager() plugins.SecretsManagerManager {
return nil
}