|
|
@@ -59,6 +59,10 @@ func (pb *PluginBase) registerPlugin(pluginDir string) error {
|
|
|
plog.Info("Registering plugin", "name", pb.Name)
|
|
|
}
|
|
|
|
|
|
+ if len(pb.Dependencies.Plugins) == 0 {
|
|
|
+ pb.Dependencies.Plugins = []PluginDependencyItem{}
|
|
|
+ }
|
|
|
+
|
|
|
if pb.Dependencies.GrafanaVersion == "" {
|
|
|
pb.Dependencies.GrafanaVersion = "*"
|
|
|
}
|
|
|
@@ -75,7 +79,8 @@ func (pb *PluginBase) registerPlugin(pluginDir string) error {
|
|
|
}
|
|
|
|
|
|
type PluginDependencies struct {
|
|
|
- GrafanaVersion string `json:"grafanaVersion"`
|
|
|
+ GrafanaVersion string `json:"grafanaVersion"`
|
|
|
+ Plugins []PluginDependencyItem `json:"plugins"`
|
|
|
}
|
|
|
|
|
|
type PluginInclude struct {
|
|
|
@@ -91,6 +96,13 @@ type PluginInclude struct {
|
|
|
Id string `json:"-"`
|
|
|
}
|
|
|
|
|
|
+type PluginDependencyItem struct {
|
|
|
+ Type string `json:"type"`
|
|
|
+ Id string `json:"id"`
|
|
|
+ Name string `json:"name"`
|
|
|
+ Version string `json:"version"`
|
|
|
+}
|
|
|
+
|
|
|
type PluginInfo struct {
|
|
|
Author PluginInfoLink `json:"author"`
|
|
|
Description string `json:"description"`
|