Files
feedkit/sinks/builtins.go

25 lines
846 B
Go

package sinks
import "gitea.maximumdirect.net/ejr/feedkit/config"
// RegisterBuiltins registers sink drivers included in this binary.
//
// In feedkit, these are "infrastructure primitives" — they are not domain-specific.
// Individual daemons can choose to call this (or register their own custom sinks).
func RegisterBuiltins(r *Registry) {
// Stdout sink: great for debugging, piping to jq, etc.
r.Register("stdout", func(cfg config.SinkConfig) (Sink, error) {
return NewStdoutSink(cfg.Name), nil
})
// Postgres sink: persists events durably.
r.Register("postgres", func(cfg config.SinkConfig) (Sink, error) {
return NewPostgresSinkFromConfig(cfg)
})
// NATS sink: publishes events to a broker for downstream consumers.
r.Register("nats", func(cfg config.SinkConfig) (Sink, error) {
return NewNATSSinkFromConfig(cfg)
})
}