Documentation ¶
Index ¶
- func RegisterActionBuilder(class string, builder BuildActionFn)
- func RegisterFilterBuilder(class string, builder BuildFilterFn)
- func RegisterPluginBuilder(class string, builder BuildPluginFn)
- func ToEvent(s string) (action.Event, error)
- func ToRule(def RuleDef) (action.Rule, error)
- type ActionDef
- type BuildActionFn
- type BuildFilterFn
- type BuildPluginFn
- type Builder
- func (b Builder) Action(id string) (action.Action, bool)
- func (b Builder) Actions() []action.Action
- func (b Builder) ActionsByPlugin(plugid string) []action.Action
- func (b *Builder) AddLocalNet(s string) error
- func (b *Builder) BuildAction(def ActionDef) (action.Action, error)
- func (b *Builder) BuildFilter(def FilterDef) (filter.Filter, error)
- func (b *Builder) BuildPlugin(def PluginDef) (plugin.Plugin, error)
- func (b Builder) CachePath(data string) string
- func (b Builder) DataPath(data string) string
- func (b Builder) LocalNets() []*net.IPNet
- func (b Builder) Logger() yalogi.Logger
- func (b *Builder) OnShutdown(f func() error)
- func (b *Builder) OnStartup(f func() error)
- func (b Builder) Plugin(id string) (plugin.Plugin, bool)
- func (b Builder) Plugins() []plugin.Plugin
- func (b Builder) Service(name string) (apiservice.Service, bool)
- func (b *Builder) Shutdown() error
- func (b *Builder) Start() error
- type FilterDef
- type Option
- type PluginDef
- type RuleDef
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterActionBuilder ¶
func RegisterActionBuilder(class string, builder BuildActionFn)
RegisterActionBuilder registers an action builder for class
func RegisterFilterBuilder ¶
func RegisterFilterBuilder(class string, builder BuildFilterFn)
RegisterFilterBuilder registers a filter builder for class
func RegisterPluginBuilder ¶
func RegisterPluginBuilder(class string, builder BuildPluginFn)
RegisterPluginBuilder registers a plugin builder for class
Types ¶
type ActionDef ¶
type ActionDef struct { // ID must exist and be unique in databases for its correct operation ID string `json:"id"` // Class defines the class Class string `json:"class"` // Plugins is a list of plugins Plugins []string `json:"plugins,omitempty"` // Disabled Disabled bool `json:"disabled"` // Services is a map of services used by plugin Services map[string]string `json:"services,omitempty"` // Args is a list of args for action Args []string `json:"args,omitempty"` // Positive stores actions to do when positive matching Positive *RuleDef `json:"positive,omitempty"` // Negative stores actions to do when negative matching Negative *RuleDef `json:"negative,omitempty"` // Opts allow optional fields Opts map[string]interface{} `json:"opts,omitempty"` }
ActionDef is used for construct actions
func ActionDefsFromFile ¶
ActionDefsFromFile creates a slice of Definition from a file in json format.
type BuildActionFn ¶
BuildActionFn defines a function that constructs an action using a definition
type BuildFilterFn ¶
BuildFilterFn defines a function that constructs a plugin using a definition
type BuildPluginFn ¶
BuildPluginFn defines a function that constructs a plugin using a definition
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder constructs actions using a definition struct
func (Builder) ActionsByPlugin ¶
ActionsByPlugin returns actions by plugin id
func (*Builder) AddLocalNet ¶
AddLocalNet add a local net to builder
func (*Builder) BuildAction ¶
BuildAction creates an action using the metadata passed as param
func (*Builder) BuildFilter ¶
BuildFilter creates a plugin using the metadata passed as param
func (*Builder) BuildPlugin ¶
BuildPlugin creates a plugin using the metadata passed as param
func (*Builder) OnShutdown ¶
OnShutdown registers the functions that will be executed during shutdown.
func (Builder) Service ¶
func (b Builder) Service(name string) (apiservice.Service, bool)
Service returns service by name
type FilterDef ¶
type FilterDef struct { // Class defines the class Class string `json:"class"` // Args is a list of args for action Args []string `json:"args,omitempty"` // Opts allow optional fields Opts map[string]interface{} `json:"opts,omitempty"` }
FilterDef stores filter information
type PluginDef ¶
type PluginDef struct { // ID must exist and be unique in databases for its correct operation ID string `json:"id"` // Class defines the class Class string `json:"class"` // Disabled Disabled bool `json:"disabled"` // Services is a map of services used by plugin Services map[string]string `json:"services,omitempty"` // Filters is a list of filters Filters []FilterDef `json:"filters,omitempty"` // Stop on match Stop bool `json:"stop"` // Args is a list of args for action Args []string `json:"args,omitempty"` // Opts allow optional fields Opts map[string]interface{} `json:"opts,omitempty"` }
PluginDef is used for construct plugins
func PluginDefsFromFile ¶
PluginDefsFromFile creates a slice of PluginDef from a file in json format.