plugins

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2019 License: BSD-3-Clause Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExecutorsFromFolder

func ExecutorsFromFolder(path string) error

ExecutorsFromFolder loads a collection of TaskPlugin from compiled .so plugins found in a folder, then registers each TaskPlugin as a step runner to be used by the task execution engine

func InitializersFromFolder

func InitializersFromFolder(path string, service *Service) error

InitializersFromFolder loads initialization plugins compiled as .so files from a folder, runs them on a received pointer to a Service

Types

type InitializerPlugin

type InitializerPlugin interface {
	Init(service *Service) error
	Description() string
}

InitializerPlugin represents the interface of an initialization plugin meant to customize the µtask service

type Service

type Service struct {
	Store  *configstore.Store
	Server *api.Server
}

Service encapsulates the objects accessible to an initialization plugin this allows for custom configuration of the api server, and for the declaration of additional configstore providers

type TaskPlugin

type TaskPlugin interface {
	ValidConfig(baseConfig json.RawMessage, config json.RawMessage) error
	Exec(stepName string, baseConfig json.RawMessage, config json.RawMessage, ctx interface{}) (interface{}, interface{}, error)
	Context(stepName string) interface{}
	PluginName() string
	PluginVersion() string
	MetadataSchema() json.RawMessage
}

TaskPlugin represents the interface for every executor for µtask step actions

Directories

Path Synopsis
ssh

Jump to

Keyboard shortcuts

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