Documentation
¶
Overview ¶
Package module defines ingestion's Module contract and its dependency wiring. Modules are run by a host.Host; this package owns only what is ingestion- specific: the Deps bag and the Mount step that injects it.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Deps ¶
type Deps struct {
Bus eventbus.Bus
DataStore filament.DataStore
Secrets filament.Secrets
Runtime filament.Runtime
Dispatch filament.Dispatcher
Sources filament.SourceRegistry
Sinks filament.SinkRegistry
// Worker answers connector questions without the module holding a driver.
Worker filament.Worker
Log filament.Logger
Metrics filament.Metrics
Tracer filament.Tracer
}
Deps is everything a module may need, injected at Mount. A module takes only the fields it uses; the rest stay nil. Infra providers are bound once at boot; the registries resolve workload providers (Source, Sink) per run.
type Module ¶
type Module interface {
host.Runnable
// Mount wires the module to its providers. Called once, before the host
// runs it. Cheap setup only — no blocking, no bus reads.
Mount(ctx context.Context, d Deps) error
}
Module is an ingestion behavior — scheduler, orchestrator, engine, tracker, stream. It is a host.Runnable (name + subscriptions) plus a Mount step that captures its providers from Deps. Modules never reference each other.