PluginManager: Make remaining plugin state non-global (#32094)

* PluginDashboards: Use plugin manager interface

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make panels non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make apps non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make static routes non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* PluginManager: Make pluginTypes non-global

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
Arve Knudsen
2021-03-18 13:53:01 +01:00
committed by GitHub
parent 1454c3723d
commit a2eda798e7
22 changed files with 293 additions and 233 deletions
@@ -6,12 +6,17 @@ import (
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/plugins"
)
// Provision scans a directory for provisioning config files
// and provisions the app in those files.
func Provision(configDirectory string) error {
ap := newAppProvisioner(log.New("provisioning.plugins"))
func Provision(configDirectory string, pluginManager plugins.Manager) error {
logger := log.New("provisioning.plugins")
ap := PluginProvisioner{
log: logger,
cfgProvider: newConfigReader(logger, pluginManager),
}
return ap.applyChanges(configDirectory)
}
@@ -22,13 +27,6 @@ type PluginProvisioner struct {
cfgProvider configReader
}
func newAppProvisioner(log log.Logger) PluginProvisioner {
return PluginProvisioner{
log: log,
cfgProvider: newConfigReader(log),
}
}
func (ap *PluginProvisioner) apply(cfg *pluginsAsConfig) error {
for _, app := range cfg.Apps {
if app.OrgID == 0 && app.OrgName != "" {