Documentation ¶
Overview ¶
Package infra provides Plugin interface and related utilities.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin interface { // Init is called in the agent`s startup phase. Init() error // Close is called in the agent`s cleanup phase. Close() error // String returns unique name of the plugin. String() string }
Plugin interface defines plugin's basic life-cycle methods.
type PluginDeps ¶
type PluginDeps struct { PluginName Log logging.PluginLogger Cfg config.PluginConfig }
PluginDeps defines common dependencies for use with plugins. It can easily be embedded in Deps for Plugin:
type Deps struct { infra.PluginDeps // other dependencies }
func (*PluginDeps) Close ¶
func (d *PluginDeps) Close() error
Close is an empty implementation used to avoid need for implementing it by plugins that do not need it.
func (*PluginDeps) Setup ¶
func (d *PluginDeps) Setup()
Setup sets up default instances for plugin deps.
func (*PluginDeps) SetupLog ¶
func (d *PluginDeps) SetupLog()
SetupLog sets up default instance for plugin log dep.
type PluginName ¶
type PluginName string
PluginName is a part of the plugin's API. It's used by embedding it into Plugin to provide unique name of the plugin.
Click to show internal directories.
Click to hide internal directories.