Raw File
plugin_registry.tmpl
package corelist

import (
  "fmt"
  "io/fs"
  "sync"
  "github.com/grafana/grafana"
	"github.com/grafana/grafana/pkg/plugins/pfs"
	"github.com/grafana/thema"
)

func parsePluginOrPanic(path string, pkgname string, rt *thema.Runtime) pfs.ParsedPlugin {
  sub, err := fs.Sub(grafana.CueSchemaFS, path)
  if err != nil {
    panic("could not create fs sub to " + path)
  }
  pp, err := pfs.ParsePluginFS(sub, rt)
  if err != nil {
    panic(fmt.Sprintf("error parsing plugin metadata for %s: %s", pkgname, err))
  }
  return pp
}

func corePlugins(rt *thema.Runtime) []pfs.ParsedPlugin{
  return []pfs.ParsedPlugin{
    {{- range .Plugins }}
    parsePluginOrPanic("{{ .Path }}", "{{ .PkgName }}", rt),
    {{- end }}
  }
}
back to top