Closed hekike closed 1 year ago
This proved to be a tougher nut to crack than expected, but after some experimentation and bouncing off some walls, here is what I came up with:
With those in mind:
POST /api/namespaces
request will create a namespace (TODO: come up with a validation rule for the name) (In case of Kafka and KSQLDB, it means new events and detected_events topic/table)POST /api/ingest
request (without namespace) will land the event in the "default" (empty) namespace (ie. no topic name prefix)POST /api/ingest?namespace=asd
request will land the event in the "asd" namespace (ie. topic name will be om_asd_events)It took me some time to figure out a way to even think about the prefix concept in a consistent way and I realized that it's not a good term we can easily explain or reason about, so I decided to change it.
Let me know what you think.
This is done
Currently, we use a hardcoded prefix
om_
to prefix Kafka topics. For example:Requirements:
OM-Prefix
.om_
prefix.events
anddetected_events
topics:POST /api/ingests
om_events
andom_detected_events
topics.