Versions in this module Expand all Collapse all v0 v0.0.1 Apr 23, 2024 Changes in this version + func NewSecPipePlugin(pipe Pipeable, plugin pluginctl.SecPipelinePluginable) pluginctl.SecPipelinePluginable + func Walk[T any](root Nodable[T], nextNodesCb func(parent, node Nodable[T])) + type ChainedPipe struct + func (cp ChainedPipe) Pipe(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error) + type Config struct + type EmptySecPlugin struct + func (spp EmptySecPlugin) Config(config []byte) error + func (spp EmptySecPlugin) GetInputSchema() ([]byte, error) + func (spp EmptySecPlugin) Run(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error) + type GoTemplateConfig struct + Format string + Pattern string + type GoTemplateOption = helper.OptionError[goTemplatePipe] + func WithJsonInput() GoTemplateOption + func WithTemplate(tmp *template.Template) GoTemplateOption + func WithTemplatePattern(pattern string) GoTemplateOption + func WithYamlInput() GoTemplateOption + type IndexableNode interface + BuildIndex func() + Query func(query T) + type MutableNode interface + AddNode func(node ...Nodable[T]) + DeleteNode func(node ...string) + type Nodable interface + GetChilds func() Nodes[T] + GetName func() string + GetValue func() T + type Node struct + Index NodeIndex + Name string + Nodes map[string]Nodable[T] + func (bn *Node[T]) AddNode(node ...Nodable[T]) + func (bn *Node[T]) DeleteNode(node ...string) + func (bn Node[T]) GetChilds() Nodes[T] + func (bn Node[T]) GetName() string + type NodeIndex map[string]string + type Nodes map[string]Nodable[T] + type PipeFunc func(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error) + func (pf PipeFunc) Pipe(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error) + type Pipeable interface + Pipe func(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error) + func NewBase64Decoder() Pipeable + func NewChainedPipe(chain ...Pipeable) Pipeable + func NewEmptyPipe() Pipeable + func NewGoTemplatePipeWithConfig(config GoTemplateConfig) Pipeable + func NewGoTemplatePipe[OPT GoTemplateOption](opt ...OPT) Pipeable + func NewInsertStringPipe(insert string) Pipeable + func NewMapPipe(mapper func(elem *pluginctl.DataStream) *pluginctl.DataStream) Pipeable + func NewPluginPipe(to pluginctl.SecPipelinePluginable) Pipeable + func NewRegexpPipe(regexpPattern string, n int) Pipeable + func NewSplitPipe(sep string) Pipeable + func NewWorkerPipe(worker func(elem *pluginctl.DataStream, c chan<- *pluginctl.DataStream)) Pipeable + type PluginPipe struct + func (dc PluginPipe) Pipe(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error) + type SecGraph = graph.Graph[string, SecVertex] + type SecPipePlugin struct + func (spp SecPipePlugin) Config(config []byte) error + func (spp SecPipePlugin) GetInputSchema() ([]byte, error) + func (spp SecPipePlugin) Run(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error) + type SecVertex struct + Name string + type Stage struct + Config map[string]any + Parents []string + Pipe []map[string]yaml.Node + Plugin string + PluginPath string + func (st Stage) AddEdges(g SecGraph, name string, rootVertex SecVertex) error + func (st Stage) AddSecVertex(g SecGraph, name string) error + func (st Stage) GetSecVertex(name string) (SecVertex, error) + type Template struct + Author string + Description string + Name string + Stages map[string]Stage + Version string + func NewFileTemplate(path string) (Template, error) + func NewRawTemplate(raw []byte) (Template, error) + func (t *Template) DrawGraphOnly(filepath string) error + func (t Template) Raw() ([]byte, error) + func (t Template) Start(ctx context.Context) (error, <-chan error)