Documentation ¶
Index ¶
- func NewSecPipePlugin(pipe Pipeable, plugin pluginctl.SecPipelinePluginable) pluginctl.SecPipelinePluginable
- func Walk[T any](root Nodable[T], nextNodesCb func(parent, node Nodable[T]))
- type ChainedPipe
- type Config
- type EmptySecPlugin
- type GoTemplateConfig
- type GoTemplateOption
- type IndexableNode
- type MutableNode
- type Nodable
- type Node
- type NodeIndex
- type Nodes
- type PipeFunc
- type Pipeable
- func NewBase64Decoder() Pipeable
- func NewChainedPipe(chain ...Pipeable) Pipeable
- func NewEmptyPipe() Pipeable
- func NewGoTemplatePipe[OPT GoTemplateOption](opt ...OPT) Pipeable
- func NewGoTemplatePipeWithConfig(config GoTemplateConfig) 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
- type SecGraph
- type SecPipePlugin
- type SecVertex
- type Stage
- type Template
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewSecPipePlugin ¶
func NewSecPipePlugin(pipe Pipeable, plugin pluginctl.SecPipelinePluginable) pluginctl.SecPipelinePluginable
Types ¶
type ChainedPipe ¶
type ChainedPipe struct {
// contains filtered or unexported fields
}
func (ChainedPipe) Pipe ¶
func (cp ChainedPipe) Pipe(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error)
type EmptySecPlugin ¶
type EmptySecPlugin struct { }
func (EmptySecPlugin) Config ¶
func (spp EmptySecPlugin) Config(config []byte) error
func (EmptySecPlugin) GetInputSchema ¶
func (spp EmptySecPlugin) GetInputSchema() ([]byte, error)
func (EmptySecPlugin) Run ¶
func (spp EmptySecPlugin) Run(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error)
type GoTemplateConfig ¶
type GoTemplateOption ¶
type GoTemplateOption = helper.OptionError[goTemplatePipe]
func WithJsonInput ¶
func WithJsonInput() GoTemplateOption
func WithTemplate ¶
func WithTemplate(tmp *template.Template) GoTemplateOption
func WithTemplatePattern ¶
func WithTemplatePattern(pattern string) GoTemplateOption
func WithYamlInput ¶
func WithYamlInput() GoTemplateOption
type IndexableNode ¶
type IndexableNode[T any] interface { BuildIndex() Query(query T) }
type MutableNode ¶
type Node ¶
type Node[T any] struct { Name string `yaml:"name" json:"name"` Nodes map[string]Nodable[T] `yaml:"nodes" json:"nodes"` Index NodeIndex }
func (*Node[T]) DeleteNode ¶
type PipeFunc ¶
type PipeFunc func(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error)
func (PipeFunc) Pipe ¶
func (pf PipeFunc) Pipe(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error)
type Pipeable ¶
type Pipeable interface {
Pipe(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error)
}
func NewBase64Decoder ¶
func NewBase64Decoder() Pipeable
func NewChainedPipe ¶
func NewEmptyPipe ¶
func NewEmptyPipe() Pipeable
func NewGoTemplatePipe ¶
func NewGoTemplatePipe[OPT GoTemplateOption](opt ...OPT) Pipeable
func NewGoTemplatePipeWithConfig ¶
func NewGoTemplatePipeWithConfig(config GoTemplateConfig) Pipeable
func NewInsertStringPipe ¶
func NewMapPipe ¶
func NewMapPipe(mapper func(elem *pluginctl.DataStream) *pluginctl.DataStream) Pipeable
func NewPluginPipe ¶
func NewPluginPipe(to pluginctl.SecPipelinePluginable) Pipeable
func NewRegexpPipe ¶
func NewSplitPipe ¶
func NewWorkerPipe ¶
func NewWorkerPipe(worker func(elem *pluginctl.DataStream, c chan<- *pluginctl.DataStream)) Pipeable
type PluginPipe ¶
type PluginPipe struct {
// contains filtered or unexported fields
}
func (PluginPipe) Pipe ¶
func (dc PluginPipe) Pipe(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error)
type SecPipePlugin ¶
type SecPipePlugin struct {
// contains filtered or unexported fields
}
func (SecPipePlugin) Config ¶
func (spp SecPipePlugin) Config(config []byte) error
func (SecPipePlugin) GetInputSchema ¶
func (spp SecPipePlugin) GetInputSchema() ([]byte, error)
func (SecPipePlugin) Run ¶
func (spp SecPipePlugin) Run(ctx context.Context, input <-chan *pluginctl.DataStream) (<-chan *pluginctl.DataStream, <-chan error)
type Stage ¶
type Stage struct { Parents []string `yaml:"parents"` PluginPath string `yaml:"pluginPath"` Plugin string `yaml:"plugin"` Config map[string]any `yaml:"config"` Pipe []map[string]yaml.Node `yaml:"pipe"` }
type Template ¶
type Template struct { Name string `yaml:"name" json:"name"` Description string `yaml:"description" json:"description"` Version string `yaml:"version" json:"version"` Author string `yaml:"author" json:"author"` Stages map[string]Stage `yaml:"stages" json:"stages"` }
func NewFileTemplate ¶
func NewRawTemplate ¶
func (*Template) DrawGraphOnly ¶
Click to show internal directories.
Click to hide internal directories.