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
+17 -9
View File
@@ -10,6 +10,7 @@ import (
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/plugins/backendplugin"
"github.com/grafana/grafana/pkg/plugins/backendplugin/pluginextensionv2"
"github.com/grafana/grafana/pkg/plugins/backendplugin/secretsmanagerplugin"
)
type Plugin struct {
@@ -36,9 +37,10 @@ type Plugin struct {
Module string
BaseURL string
Renderer pluginextensionv2.RendererPlugin
client backendplugin.Plugin
log log.Logger
Renderer pluginextensionv2.RendererPlugin
SecretsManager secretsmanagerplugin.SecretsManagerPlugin
client backendplugin.Plugin
log log.Logger
}
type PluginDTO struct {
@@ -132,7 +134,7 @@ type JSONData struct {
Streaming bool `json:"streaming"`
SDK bool `json:"sdk,omitempty"`
// Backend (Datasource + Renderer)
// Backend (Datasource + Renderer + SecretsManager)
Executable string `json:"executable,omitempty"`
}
@@ -347,6 +349,10 @@ func (p *Plugin) IsRenderer() bool {
return p.Type == "renderer"
}
func (p *Plugin) IsSecretsManager() bool {
return p.Type == "secretsmanager"
}
func (p *Plugin) IsDataSource() bool {
return p.Type == "datasource"
}
@@ -384,20 +390,22 @@ var PluginTypes = []Type{
Panel,
App,
Renderer,
SecretsManager,
}
type Type string
const (
DataSource Type = "datasource"
Panel Type = "panel"
App Type = "app"
Renderer Type = "renderer"
DataSource Type = "datasource"
Panel Type = "panel"
App Type = "app"
Renderer Type = "renderer"
SecretsManager Type = "secretsmanager"
)
func (pt Type) IsValid() bool {
switch pt {
case DataSource, Panel, App, Renderer:
case DataSource, Panel, App, Renderer, SecretsManager:
return true
}
return false