feat(observability): phase 1 - schema, models & event log backend
Add database foundation for observability features: - event_log table with severity/source filtering and pagination - standalone_proxies table for user-created reverse proxies - stale_threshold_days setting (default 7 days) - Auto-persist warn/error events from event bus to database - SSE broadcast of persistent events for real-time UI updates - Frontend types and API functions for downstream UI phases
This commit is contained in:
@@ -93,6 +93,21 @@ func main() {
|
||||
notifier := notify.New()
|
||||
eventBus := events.New()
|
||||
|
||||
// Auto-persist warn/error events from the event bus to the database.
|
||||
stopLogger := eventBus.RegisterPersistentLogger(func(source, severity, message, metadata string) (int64, string, error) {
|
||||
evt, err := db.InsertEvent(store.EventLog{
|
||||
Source: source,
|
||||
Severity: severity,
|
||||
Message: message,
|
||||
Metadata: metadata,
|
||||
})
|
||||
if err != nil {
|
||||
return 0, "", err
|
||||
}
|
||||
return evt.ID, evt.CreatedAt, nil
|
||||
})
|
||||
defer stopLogger()
|
||||
|
||||
dep := deployer.New(dockerClient, npmClient, db, healthChecker, notifier, eventBus, encKey)
|
||||
|
||||
// Initialize webhook handler.
|
||||
|
||||
Reference in New Issue
Block a user