feat(cogs): publish backend change streams to Kafka - #597
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## matth/storage-inventory-tracker-3 #597 +/- ##
=====================================================================
+ Coverage 88.39% 88.47% +0.07%
=====================================================================
Files 104 104
Lines 17129 17173 +44
=====================================================================
+ Hits 15142 15194 +52
+ Misses 1987 1979 -8
☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
5c30b31 to
644c7af
Compare
644c7af to
d5d5bef
Compare
d5d5bef to
329169e
Compare
914f849 to
9951ac3
Compare
| .storage_cogs | ||
| .as_ref() | ||
| .map(ChangeStreamFactory::new) | ||
| .unwrap_or_default(); |
There was a problem hiding this comment.
nit: Reading it like this, implementing Default for ChangeStreamFactory leaves the question of what the default actually does. There's no natural "default" for change streams. Maybe we should remove that and explicitly instantiate the noop factory here.
There was a problem hiding this comment.
there isn't a separate noop factory, there's just ChangeStreamFactory. the way i think of it is: the default factory has no sink configs and only knows how to build NoopStream. if you have sink configs, you build a non-default factory with them and that factory knows how to build other ChangeStreams
9951ac3 to
f42ac54
Compare
Ref FS-210
Add
CostTrackerConfigstruct toobjectstore-server's config. This allows storage COGS to be configured end-to-end;CostTrackerConfigonobjectstore-server's config andCostTrackerStreamConfigon eachBackendimpl will produce aCostTrackerStreamthat holds a shared Kafka producer and streams change messages on theshared-resources-inventorytopic.While
ChangeStreamis abstract, the abstraction is not exposed in config. It's assumed eachChangeStreamimpl will name itself explicitly in dedicated config sections.Stack created with GitHub Stacks CLI • Give Feedback 💬