plugin

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: MIT Imports: 6 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Handshake = goplugin.HandshakeConfig{

	ProtocolVersion:  1,
	MagicCookieKey:   "REEVE_PLUGIN",
	MagicCookieValue: "reeveci",
}
View Source
var PluginMap = map[string]goplugin.Plugin{
	"plugin": &ReevePlugin{},
}

PluginMap is the map of plugins we can dispense.

Functions

func RegisterSharedTypes

func RegisterSharedTypes()

func Serve

func Serve(config *PluginConfig)

Types

type Capabilities

type Capabilities struct {
	Message    bool
	Discover   bool
	Resolve    bool
	Notify     bool
	CLIMethods map[string]string
}

type LogReaderClient

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

func (*LogReaderClient) Close

func (l *LogReaderClient) Close() error

func (*LogReaderClient) Read

func (l *LogReaderClient) Read(p []byte) (n int, err error)

func (*LogReaderClient) ReadAt

func (l *LogReaderClient) ReadAt(p []byte, offset int64) (n int, err error)

func (*LogReaderClient) Seek

func (l *LogReaderClient) Seek(offset int64, whence int) (n int64, err error)

func (*LogReaderClient) Size

func (l *LogReaderClient) Size() (size int64, isClosed bool)

type LogReaderProviderClient

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

func (*LogReaderProviderClient) Available

func (l *LogReaderProviderClient) Available() bool

func (*LogReaderProviderClient) Close

func (l *LogReaderProviderClient) Close() error

func (*LogReaderProviderClient) Reader

type LogReaderProviderServer

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

func (*LogReaderProviderServer) Close

func (l *LogReaderProviderServer) Close(args *interface{}, resp *interface{}) error

func (*LogReaderProviderServer) Reader

func (l *LogReaderProviderServer) Reader(args *interface{}, resp *uint32) error

type LogReaderServer

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

func (*LogReaderServer) Close

func (l *LogReaderServer) Close(args *interface{}, resp *interface{}) error

func (*LogReaderServer) Read

func (l *LogReaderServer) Read(args int, resp *[]byte) error

func (*LogReaderServer) ReadAt

func (l *LogReaderServer) ReadAt(args []int64, resp *[]byte) error

func (*LogReaderServer) Seek

func (l *LogReaderServer) Seek(args []interface{}, resp *int64) (err error)

func (*LogReaderServer) Size

func (l *LogReaderServer) Size(args *interface{}, resp *[]interface{}) (err error)

type Plugin

type Plugin interface {
	Name() (string, error)
	Register(settings map[string]string, api ReeveAPI) (Capabilities, error)
	Unregister() error

	Message(source string, message schema.Message) error
	Discover(trigger schema.Trigger) ([]schema.Pipeline, error)
	Resolve(env []string) (map[string]schema.Env, error)
	Notify(status schema.PipelineStatus) error
	CLIMethod(method string, args []string) (string, error)
}

type PluginConfig

type PluginConfig struct {
	Plugin Plugin
	Logger hclog.Logger
}

type ReeveAPI

type ReeveAPI interface {
	NotifyMessages(messages []schema.Message) error
	NotifyTriggers(triggers []schema.Trigger) error
	io.Closer
}

type ReeveAPIClient

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

func (*ReeveAPIClient) Close

func (t *ReeveAPIClient) Close() error

func (*ReeveAPIClient) NotifyMessages

func (t *ReeveAPIClient) NotifyMessages(messages []schema.Message) error

func (*ReeveAPIClient) NotifyTriggers

func (t *ReeveAPIClient) NotifyTriggers(triggers []schema.Trigger) error

type ReeveAPIServer

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

func (*ReeveAPIServer) Close

func (t *ReeveAPIServer) Close(args *interface{}, resp *interface{}) error

func (*ReeveAPIServer) NotifyMessages

func (t *ReeveAPIServer) NotifyMessages(args []schema.Message, resp *interface{}) error

func (*ReeveAPIServer) NotifyTriggers

func (t *ReeveAPIServer) NotifyTriggers(args []schema.Trigger, resp *interface{}) error

type ReevePlugin

type ReevePlugin struct {
	Impl Plugin
}

func (ReevePlugin) Client

func (ReevePlugin) Client(b *goplugin.MuxBroker, c *rpc.Client) (interface{}, error)

func (*ReevePlugin) Server

func (p *ReevePlugin) Server(b *goplugin.MuxBroker) (interface{}, error)

type ReevePluginClient

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

func (*ReevePluginClient) CLIMethod

func (r *ReevePluginClient) CLIMethod(method string, args []string) (resp string, err error)

func (*ReevePluginClient) Discover

func (r *ReevePluginClient) Discover(trigger schema.Trigger) (resp []schema.Pipeline, err error)

func (*ReevePluginClient) Message

func (r *ReevePluginClient) Message(source string, message schema.Message) error

func (*ReevePluginClient) Name

func (r *ReevePluginClient) Name() (resp string, err error)

func (*ReevePluginClient) Notify

func (r *ReevePluginClient) Notify(status schema.PipelineStatus) error

func (*ReevePluginClient) Register

func (r *ReevePluginClient) Register(settings map[string]string, api ReeveAPI) (resp Capabilities, err error)

func (*ReevePluginClient) Resolve

func (r *ReevePluginClient) Resolve(env []string) (resp map[string]schema.Env, err error)

func (*ReevePluginClient) Unregister

func (r *ReevePluginClient) Unregister() error

type ReevePluginServer

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

func (*ReevePluginServer) CLIMethod

func (r *ReevePluginServer) CLIMethod(args []string, resp *string) (err error)

func (*ReevePluginServer) Discover

func (r *ReevePluginServer) Discover(args schema.Trigger, resp *[]schema.Pipeline) (err error)

func (*ReevePluginServer) Message

func (r *ReevePluginServer) Message(args schema.FullMessage, resp *interface{}) error

func (*ReevePluginServer) Name

func (r *ReevePluginServer) Name(args *interface{}, resp *string) (err error)

func (*ReevePluginServer) Notify

func (r *ReevePluginServer) Notify(args []interface{}, resp *interface{}) error

func (*ReevePluginServer) Register

func (r *ReevePluginServer) Register(args []interface{}, resp *Capabilities) error

func (*ReevePluginServer) Resolve

func (r *ReevePluginServer) Resolve(args []string, resp *map[string]schema.Env) (err error)

func (*ReevePluginServer) Unregister

func (r *ReevePluginServer) Unregister(args *interface{}, resp *interface{}) error

Jump to

Keyboard shortcuts

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