Documentation
¶
Overview ¶
Package eventstore provides append-only event streams with Server-Sent Events (SSE) support. It demonstrates all plugin API patterns: HTTP routes, database migrations, and background workers.
Events are stored in the event_stream table with tenant isolation. Each event is a JSONB blob with an auto-incrementing sequence number per (tenant, stream).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
MaxEventSize int `json:"max_event_size"` // max event body bytes; default 1 MB
RetentionDays int `json:"retention_days"` // days to keep events; <=0 disables cleanup, default 30
}
Config controls eventstore parameters.
type Plugin ¶
type Plugin struct {
// contains filtered or unexported fields
}
Plugin implements append-only event streams with tenant isolation.
func (*Plugin) Info ¶
func (p *Plugin) Info() plugin.PluginInfo
Info returns plugin metadata for discovery and documentation.
func (*Plugin) Init ¶
Init initializes the plugin with the given environment. It parses optional configuration and sets safe defaults for dev/testing.
func (*Plugin) Migrations ¶
Migrations returns the database schema for event streams. Tables are idempotent (IF NOT EXISTS) and safe to run multiple times.