Documentation ¶
Index ¶
- Variables
- type Config
- type Instance
- type Parent
- type ParentType
- type PluginService
- type ProvisionType
- type RunnableProcessor
- type Service
- func (s *Service) Check(ctx context.Context) error
- func (s *Service) Create(ctx context.Context, id string, plugin string, parent Parent, cfg Config, ...) (*Instance, error)
- func (s *Service) Delete(ctx context.Context, id string) error
- func (s *Service) Get(_ context.Context, id string) (*Instance, error)
- func (s *Service) Init(ctx context.Context) error
- func (s *Service) List(_ context.Context) map[string]*Instance
- func (s *Service) MakeRunnableProcessor(ctx context.Context, i *Instance) (*RunnableProcessor, error)
- func (s *Service) Update(ctx context.Context, id string, plugin string, cfg Config) (*Instance, error)
- type Store
Constants ¶
This section is empty.
Variables ¶
var ( ErrInstanceNotFound = cerrors.New("processor instance not found") ErrProcessorRunning = cerrors.New("processor already running") )
Functions ¶
This section is empty.
Types ¶
type Instance ¶
type Instance struct { ID string CreatedAt time.Time UpdatedAt time.Time ProvisionedBy ProvisionType Plugin string // Condition is a goTemplate formatted string, the value provided to the template is a sdk.Record, it should evaluate // to a boolean value, indicating a condition to run the processor for a specific record or not. (template functions // provided by `sprig` are injected) Condition string Parent Parent Config Config // contains filtered or unexported fields }
Instance represents a processor persisted in a database. An Instance is used to create a RunnableProcessor which represents a processor which can be used in a pipeline.
type Parent ¶
type Parent struct { // ID of the parent. ID string // Type of the parent. Type ParentType }
Parent represents the connection to the entity a processor is connected to.
type ParentType ¶
type ParentType int
ParentType defines the parent type of processor.
const ( ParentTypeConnector ParentType = iota + 1 ParentTypePipeline )
func (ParentType) String ¶
func (i ParentType) String() string
type PluginService ¶ added in v0.9.0
type ProvisionType ¶ added in v0.3.0
type ProvisionType int
ProvisionType defines provisioning type
const ( ProvisionTypeAPI ProvisionType = iota ProvisionTypeConfig )
type RunnableProcessor ¶ added in v0.9.0
type RunnableProcessor struct { *Instance // contains filtered or unexported fields }
RunnableProcessor is a stream.Processor which has been initialized and is ready to be used in a pipeline.
func (*RunnableProcessor) Open ¶ added in v0.9.0
func (p *RunnableProcessor) Open(ctx context.Context) error
func (*RunnableProcessor) Process ¶ added in v0.9.0
func (p *RunnableProcessor) Process(ctx context.Context, records []opencdc.Record) []sdk.ProcessedRecord
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
NewService creates a new processor plugin service.
func (*Service) Create ¶
func (s *Service) Create( ctx context.Context, id string, plugin string, parent Parent, cfg Config, pt ProvisionType, cond string, ) (*Instance, error)
Create will create a new processor instance.
func (*Service) MakeRunnableProcessor ¶ added in v0.9.0
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store handles the persistence and fetching of processor instances.
func (*Store) Delete ¶
Delete deletes instance under the key id and returns nil on success, error otherwise.