plugin

package
v0.30.1-0...-025f12f Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ProtocolVersion is the current (latest) supported protocol version.
	ProtocolVersion = 2

	// MagicCookieKey is the the magic cookie key that will be used for negotiating
	// between plugin host and client.
	// Should NEVER be changed.
	MagicCookieKey = "grafana_plugin_type"

	// MagicCookieValue is the the magic cookie value that will be used for negotiating
	// between plugin host and client.
	// Should NEVER be changed.
	MagicCookieValue = "datasource"
)

Variables

This section is empty.

Functions

func Serve

func Serve(opts ServeOpts) error

Serve starts serving the plugin over gRPC.

Types

type DataClient

type DataClient interface {
	pluginv2.DataClient
}

type DataGRPCPlugin

type DataGRPCPlugin struct {
	plugin.NetRPCUnsupportedPlugin
	plugin.GRPCPlugin
	DataServer DataServer
}

DataGRPCPlugin implements the GRPCPlugin interface from github.com/hashicorp/go-plugin.

func (*DataGRPCPlugin) GRPCClient

func (p *DataGRPCPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

func (*DataGRPCPlugin) GRPCServer

func (p *DataGRPCPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

type DataServer

type DataServer interface {
	pluginv2.DataServer
}

type DiagnosticsClient

type DiagnosticsClient interface {
	pluginv2.DiagnosticsClient
}

type DiagnosticsGRPCPlugin

type DiagnosticsGRPCPlugin struct {
	plugin.NetRPCUnsupportedPlugin
	plugin.GRPCPlugin
	DiagnosticsServer DiagnosticsServer
}

DiagnosticsGRPCPlugin implements the GRPCPlugin interface from github.com/hashicorp/go-plugin.

func (*DiagnosticsGRPCPlugin) GRPCClient

func (p *DiagnosticsGRPCPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

func (*DiagnosticsGRPCPlugin) GRPCServer

func (p *DiagnosticsGRPCPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

type DiagnosticsServer

type DiagnosticsServer interface {
	pluginv2.DiagnosticsServer
}

type ResourceClient

type ResourceClient interface {
	pluginv2.ResourceClient
}

type ResourceGRPCPlugin

type ResourceGRPCPlugin struct {
	plugin.NetRPCUnsupportedPlugin
	plugin.GRPCPlugin
	ResourceServer ResourceServer
}

ResourceGRPCPlugin implements the GRPCPlugin interface from github.com/hashicorp/go-plugin.

func (*ResourceGRPCPlugin) GRPCClient

func (p *ResourceGRPCPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

func (*ResourceGRPCPlugin) GRPCServer

func (p *ResourceGRPCPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

type ResourceServer

type ResourceServer interface {
	pluginv2.ResourceServer
}

type ServeOpts

type ServeOpts struct {
	DiagnosticsServer DiagnosticsServer
	ResourceServer    ResourceServer
	DataServer        DataServer
	TransformServer   TransformServer

	// GRPCServer factory method for creating GRPC server.
	// If nil, the default one will be used.
	GRPCServer func(options []grpc.ServerOption) *grpc.Server
}

ServeOpts options for serving plugins.

type TransformClient

type TransformClient interface {
	TransformData(ctx context.Context, req *pluginv2.QueryDataRequest, callback TransformDataCallBack) (*pluginv2.QueryDataResponse, error)
}

type TransformDataCallBack

type TransformDataCallBack interface {
	QueryData(ctx context.Context, req *pluginv2.QueryDataRequest) (*pluginv2.QueryDataResponse, error)
}

type TransformGRPCPlugin

type TransformGRPCPlugin struct {
	plugin.NetRPCUnsupportedPlugin
	plugin.GRPCPlugin
	TransformServer TransformServer
}

TransformGRPCPlugin implements the GRPCPlugin interface from github.com/hashicorp/go-plugin.

func (*TransformGRPCPlugin) GRPCClient

func (p *TransformGRPCPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

func (*TransformGRPCPlugin) GRPCServer

func (p *TransformGRPCPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

type TransformServer

type TransformServer interface {
	TransformData(ctx context.Context, req *pluginv2.QueryDataRequest, callback TransformDataCallBack) (*pluginv2.QueryDataResponse, error)
}

Jump to

Keyboard shortcuts

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