ingest

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2026 License: BSD-2-Clause Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Callbacks

type Callbacks struct {
	// contains filtered or unexported fields
}

func NewCallbacks

func NewCallbacks(jobs Resumer) *Callbacks

func (*Callbacks) Register

func (h *Callbacks) Register(app *fiber.App)

type EventCatalog

type EventCatalog interface {
	ByTopic(ctx context.Context, topic string) ([]*models.EventDefinition, error)
}

type Kafka

type Kafka struct {
	// contains filtered or unexported fields
}

func NewKafka

func NewKafka(triggers KafkaTriggers, catalog EventCatalog, jobs Starter, registry SchemaRegistry, logger *slog.Logger) *Kafka

func (*Kafka) Handle

func (k *Kafka) Handle(ctx context.Context, message KafkaMessage) error

type KafkaConsumer

type KafkaConsumer struct {
	// contains filtered or unexported fields
}

func NewKafkaConsumer

func NewKafkaConsumer(
	newReader func(topics []string) KafkaReader,
	topics KafkaTopics,
	handle func(context.Context, KafkaMessage) error,
	refresh time.Duration,
	logger *slog.Logger,
) *KafkaConsumer

func (*KafkaConsumer) Run

func (c *KafkaConsumer) Run(ctx context.Context) error

type KafkaMessage

type KafkaMessage struct {
	Topic     string
	Partition int
	Offset    int64
	Key       []byte
	Value     []byte
	Headers   map[string]string
	Timestamp time.Time
}

type KafkaReader

type KafkaReader interface {
	FetchMessage(ctx context.Context) (kafka.Message, error)
	CommitMessages(ctx context.Context, messages ...kafka.Message) error
	Close() error
}

type KafkaTopics

type KafkaTopics interface {
	KafkaTopics(ctx context.Context) ([]string, error)
}

type KafkaTriggers

type KafkaTriggers interface {
	KafkaTriggers(ctx context.Context, topic string) ([]models.TriggerNodeMatch, error)
	EventTriggers(ctx context.Context, eventKey, tenantID string) ([]models.TriggerNodeMatch, error)
}

type Resumer

type Resumer interface {
	ResumeIf(ctx context.Context, executionID, nodeID string, data map[string]any, allowed func(models.NodeResult) bool) error
}

type SchemaRegistry

type SchemaRegistry struct {
	URL      string
	Username string
	Password string
}

type Starter

type Starter interface {
	Start(ctx context.Context, execution *models.ExecutionContext, job models.Job) error
}

type Triggers

type Triggers interface {
	WebhookTriggers(ctx context.Context, tenantID, path string) ([]models.TriggerNodeMatch, error)
}

type Webhook

type Webhook struct {
	// contains filtered or unexported fields
}

func NewWebhook

func NewWebhook(triggers Triggers, jobs Starter, logger *slog.Logger) *Webhook

func (*Webhook) Register

func (h *Webhook) Register(app *fiber.App)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL