wire up loading of secretsmanager plugin, using renderer plugin as a model

This commit is contained in:
Michael Mandrus
2022-05-24 11:48:47 -04:00
parent 9853047001
commit 17d84f56f7
7 changed files with 138 additions and 21 deletions
@@ -79,6 +79,36 @@ func TestInitializer_Initialize(t *testing.T) {
assert.NotNil(t, c)
})
t.Run("secretsmanager", func(t *testing.T) {
p := &plugins.Plugin{
JSONData: plugins.JSONData{
ID: "test",
Type: plugins.SecretsManager,
Dependencies: plugins.Dependencies{
GrafanaVersion: ">=8.x",
},
Backend: true,
},
PluginDir: absCurPath,
Class: plugins.External,
}
i := &Initializer{
cfg: plugins.NewCfg(),
log: log.NewNopLogger(),
backendProvider: &fakeBackendProvider{
plugin: p,
},
}
err := i.Initialize(context.Background(), p)
assert.NoError(t, err)
c, exists := p.Client()
assert.True(t, exists)
assert.NotNil(t, c)
})
t.Run("non backend plugin app", func(t *testing.T) {
p := &plugins.Plugin{
JSONData: plugins.JSONData{
+11
View File
@@ -23,6 +23,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)
type PluginManager struct {
cfg *plugins.Cfg
@@ -116,6 +117,16 @@ func (m *PluginManager) Renderer() *plugins.Plugin {
return nil
}
func (m *PluginManager) SecretsManager() *plugins.Plugin {
for _, p := range m.plugins() {
if p.IsSecretsManager() {
return p
}
}
return nil
}
func (m *PluginManager) Routes() []*plugins.StaticRoute {
staticRoutes := make([]*plugins.StaticRoute, 0)