plugins

package
v5.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2018 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	PluginTypeApp        = "app"
	PluginTypeDatasource = "datasource"
	PluginTypePanel      = "panel"
	PluginTypeDashboard  = "dashboard"
)
View Source
var (
	DataSources  map[string]*DataSourcePlugin
	Panels       map[string]*PanelPlugin
	StaticRoutes []*PluginStaticRoute
	Apps         map[string]*AppPlugin
	Plugins      map[string]*PluginBase
	PluginTypes  map[string]interface{}
	Renderer     *RendererPlugin

	GrafanaLatestVersion string
	GrafanaHasUpdate     bool
)

Functions

func ComposePluginStartCommmand added in v5.2.0

func ComposePluginStartCommmand(executable string) string

func GetPluginMarkdown

func GetPluginMarkdown(pluginId string, name string) ([]byte, error)

func GetPluginSettings

func GetPluginSettings(orgId int64) (map[string]*m.PluginSettingInfoDTO, error)

func ImportDashboard

func ImportDashboard(cmd *ImportDashboardCommand) error

Types

type AppPlugin

type AppPlugin struct {
	FrontendPluginBase
	Routes []*AppPluginRoute `json:"routes"`

	FoundChildPlugins []*PluginInclude `json:"-"`
	Pinned            bool             `json:"-"`
}

func (*AppPlugin) Load

func (app *AppPlugin) Load(decoder *json.Decoder, pluginDir string) error

type AppPluginCss

type AppPluginCss struct {
	Light string `json:"light"`
	Dark  string `json:"dark"`
}

type AppPluginRoute

type AppPluginRoute struct {
	Path         string                 `json:"path"`
	Method       string                 `json:"method"`
	ReqRole      models.RoleType        `json:"reqRole"`
	Url          string                 `json:"url"`
	Headers      []AppPluginRouteHeader `json:"headers"`
	TokenAuth    *JwtTokenAuth          `json:"tokenAuth"`
	JwtTokenAuth *JwtTokenAuth          `json:"jwtTokenAuth"`
}

type AppPluginRouteHeader

type AppPluginRouteHeader struct {
	Name    string `json:"name"`
	Content string `json:"content"`
}

type DashTemplateEvaluator

type DashTemplateEvaluator struct {
	// contains filtered or unexported fields
}

func (*DashTemplateEvaluator) Eval

func (this *DashTemplateEvaluator) Eval() (*simplejson.Json, error)

type DashboardInputMissingError

type DashboardInputMissingError struct {
	VariableName string
}

func (DashboardInputMissingError) Error

type DataSourcePlugin

type DataSourcePlugin struct {
	FrontendPluginBase
	Annotations  bool              `json:"annotations"`
	Metrics      bool              `json:"metrics"`
	Alerting     bool              `json:"alerting"`
	Explore      bool              `json:"explore"`
	Logs         bool              `json:"logs"`
	QueryOptions map[string]bool   `json:"queryOptions,omitempty"`
	BuiltIn      bool              `json:"builtIn,omitempty"`
	Mixed        bool              `json:"mixed,omitempty"`
	HasQueryHelp bool              `json:"hasQueryHelp,omitempty"`
	Routes       []*AppPluginRoute `json:"routes"`

	Backend    bool   `json:"backend,omitempty"`
	Executable string `json:"executable,omitempty"`
	// contains filtered or unexported fields
}

DataSourcePlugin contains all metadata about a datasource plugin

func (*DataSourcePlugin) Kill

func (p *DataSourcePlugin) Kill()

func (*DataSourcePlugin) Load

func (p *DataSourcePlugin) Load(decoder *json.Decoder, pluginDir string) error

type EnabledPlugins

type EnabledPlugins struct {
	Panels      []*PanelPlugin
	DataSources map[string]*DataSourcePlugin
	Apps        []*AppPlugin
}

func GetEnabledPlugins

func GetEnabledPlugins(orgId int64) (*EnabledPlugins, error)

func NewEnabledPlugins

func NewEnabledPlugins() EnabledPlugins

type FrontendPluginBase

type FrontendPluginBase struct {
	PluginBase
}

type GithubLatest

type GithubLatest struct {
	Stable  string `json:"stable"`
	Testing string `json:"testing"`
}

type GrafanaNetPlugin

type GrafanaNetPlugin struct {
	Slug    string `json:"slug"`
	Version string `json:"version"`
}

type ImportDashboardCommand

type ImportDashboardCommand struct {
	Dashboard *simplejson.Json
	Path      string
	Inputs    []ImportDashboardInput
	Overwrite bool
	FolderId  int64

	OrgId    int64
	User     *m.SignedInUser
	PluginId string
	Result   *PluginDashboardInfoDTO
}

type ImportDashboardInput

type ImportDashboardInput struct {
	Type     string `json:"type"`
	PluginId string `json:"pluginId"`
	Name     string `json:"name"`
	Value    string `json:"value"`
}

type JwtTokenAuth

type JwtTokenAuth struct {
	Url    string            `json:"url"`
	Scopes []string          `json:"scopes"`
	Params map[string]string `json:"params"`
}

JwtTokenAuth struct is both for normal Token Auth and JWT Token Auth with an uploaded JWT file.

type LogWrapper

type LogWrapper struct {
	Logger glog.Logger
}

func (LogWrapper) Debug

func (lw LogWrapper) Debug(msg string, args ...interface{})

func (LogWrapper) Error

func (lw LogWrapper) Error(msg string, args ...interface{})

func (LogWrapper) Info

func (lw LogWrapper) Info(msg string, args ...interface{})

func (LogWrapper) IsDebug

func (lw LogWrapper) IsDebug() bool

func (LogWrapper) IsError

func (lw LogWrapper) IsError() bool

func (LogWrapper) IsInfo

func (lw LogWrapper) IsInfo() bool

func (LogWrapper) IsTrace

func (lw LogWrapper) IsTrace() bool

func (LogWrapper) IsWarn

func (lw LogWrapper) IsWarn() bool

func (LogWrapper) Named

func (lw LogWrapper) Named(name string) hclog.Logger

func (LogWrapper) ResetNamed

func (lw LogWrapper) ResetNamed(name string) hclog.Logger

func (LogWrapper) StandardLogger

func (lw LogWrapper) StandardLogger(ops *hclog.StandardLoggerOptions) *log.Logger

func (LogWrapper) Trace

func (lw LogWrapper) Trace(msg string, args ...interface{})

func (LogWrapper) Warn

func (lw LogWrapper) Warn(msg string, args ...interface{})

func (LogWrapper) With

func (lw LogWrapper) With(args ...interface{}) hclog.Logger

type PanelPlugin

type PanelPlugin struct {
	FrontendPluginBase
}

func (*PanelPlugin) Load

func (p *PanelPlugin) Load(decoder *json.Decoder, pluginDir string) error

type PluginBase

type PluginBase struct {
	Type         string             `json:"type"`
	Name         string             `json:"name"`
	Id           string             `json:"id"`
	Info         PluginInfo         `json:"info"`
	Dependencies PluginDependencies `json:"dependencies"`
	Includes     []*PluginInclude   `json:"includes"`
	Module       string             `json:"module"`
	BaseUrl      string             `json:"baseUrl"`
	HideFromList bool               `json:"hideFromList,omitempty"`
	State        string             `json:"state,omitempty"`

	IncludedInAppId string `json:"-"`
	PluginDir       string `json:"-"`
	DefaultNavUrl   string `json:"-"`
	IsCorePlugin    bool   `json:"-"`

	GrafanaNetVersion   string `json:"-"`
	GrafanaNetHasUpdate bool   `json:"-"`
}

type PluginDashboardInfoDTO

type PluginDashboardInfoDTO struct {
	PluginId         string `json:"pluginId"`
	Title            string `json:"title"`
	Imported         bool   `json:"imported"`
	ImportedUri      string `json:"importedUri"`
	ImportedUrl      string `json:"importedUrl"`
	Slug             string `json:"slug"`
	DashboardId      int64  `json:"dashboardId"`
	FolderId         int64  `json:"folderId"`
	ImportedRevision int64  `json:"importedRevision"`
	Revision         int64  `json:"revision"`
	Description      string `json:"description"`
	Path             string `json:"path"`
	Removed          bool   `json:"removed"`
}

func GetPluginDashboards

func GetPluginDashboards(orgId int64, pluginId string) ([]*PluginDashboardInfoDTO, error)

type PluginDependencies

type PluginDependencies struct {
	GrafanaVersion string                 `json:"grafanaVersion"`
	Plugins        []PluginDependencyItem `json:"plugins"`
}

type PluginDependencyItem

type PluginDependencyItem struct {
	Type    string `json:"type"`
	Id      string `json:"id"`
	Name    string `json:"name"`
	Version string `json:"version"`
}

type PluginInclude

type PluginInclude struct {
	Name       string     `json:"name"`
	Path       string     `json:"path"`
	Type       string     `json:"type"`
	Component  string     `json:"component"`
	Role       m.RoleType `json:"role"`
	AddToNav   bool       `json:"addToNav"`
	DefaultNav bool       `json:"defaultNav"`
	Slug       string     `json:"slug"`

	Id string `json:"-"`
}

type PluginInfo

type PluginInfo struct {
	Author      PluginInfoLink      `json:"author"`
	Description string              `json:"description"`
	Links       []PluginInfoLink    `json:"links"`
	Logos       PluginLogos         `json:"logos"`
	Screenshots []PluginScreenshots `json:"screenshots"`
	Version     string              `json:"version"`
	Updated     string              `json:"updated"`
}
type PluginInfoLink struct {
	Name string `json:"name"`
	Url  string `json:"url"`
}

type PluginLoader

type PluginLoader interface {
	Load(decoder *json.Decoder, pluginDir string) error
}

type PluginLogos

type PluginLogos struct {
	Small string `json:"small"`
	Large string `json:"large"`
}

type PluginManager

type PluginManager struct {
	// contains filtered or unexported fields
}

func (*PluginManager) Init added in v5.2.0

func (pm *PluginManager) Init() error

func (*PluginManager) Run

func (pm *PluginManager) Run(ctx context.Context) error

type PluginNotFoundError

type PluginNotFoundError struct {
	PluginId string
}

func (PluginNotFoundError) Error

func (e PluginNotFoundError) Error() string

type PluginScanner

type PluginScanner struct {
	// contains filtered or unexported fields
}

type PluginScreenshots

type PluginScreenshots struct {
	Path string `json:"path"`
	Name string `json:"name"`
}

type PluginStaticRoute

type PluginStaticRoute struct {
	Directory string
	PluginId  string
}

type RendererPlugin added in v5.2.0

type RendererPlugin struct {
	PluginBase

	Executable string `json:"executable,omitempty"`
}

func (*RendererPlugin) Load added in v5.2.0

func (r *RendererPlugin) Load(decoder *json.Decoder, pluginDir string) error

Directories

Path Synopsis
datasource

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL