Skip to content

Commit a5e2832

Browse files
committed
feat: auto-start Jetstream consumer from registered lexicons
1 parent 81d7225 commit a5e2832

1 file changed

Lines changed: 18 additions & 2 deletions

File tree

cmd/hypergoat/main.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -459,8 +459,24 @@ func run() error {
459459
// Start Jetstream consumer if collections are configured
460460
var jsConsumer *jetstream.Consumer
461461
jsCollections := os.Getenv("JETSTREAM_COLLECTIONS")
462+
463+
// If no env var, try to get collections from registered lexicons
464+
var collections []string
462465
if jsCollections != "" {
463-
collections := jetstream.ParseCollections(jsCollections)
466+
collections = jetstream.ParseCollections(jsCollections)
467+
} else {
468+
// Read from database lexicons
469+
lexicons, err := lexiconsRepo.GetAll(ctx)
470+
if err != nil {
471+
slog.Warn("Failed to get lexicons for Jetstream", "error", err)
472+
} else {
473+
for _, lex := range lexicons {
474+
collections = append(collections, lex.ID)
475+
}
476+
}
477+
}
478+
479+
if len(collections) > 0 {
464480
jsURL := os.Getenv("JETSTREAM_URL")
465481
if jsURL == "" {
466482
jsURL = jetstream.DefaultJetstreamURL
@@ -493,7 +509,7 @@ func run() error {
493509
}
494510
}()
495511
} else {
496-
slog.Info("Jetstream consumer disabled (set JETSTREAM_COLLECTIONS to enable)")
512+
slog.Info("Jetstream consumer disabled (no collections - register lexicons or set JETSTREAM_COLLECTIONS)")
497513
}
498514

499515
// Run backfill if enabled

0 commit comments

Comments
 (0)