Ecosystems
Bundle the features, data, and applications behind one product into a working ecosystem — the wiring that turns parts into a whole.
Wire it together.
An ecosystem is where the pieces meet: one container per product, and every bucket, customer, and application you create belongs to exactly one of them.
One boundary, drawn once.
Left implicit, the boundary still exists — it just gets re-derived at every call site, slightly differently, and the differences are what leak. Drawn once, it is enforced instead of remembered: the tenant data it holds is fenced row by row by Postgres itself, not by whoever wrote the last query.
One bundle, many callers.
Wired from the start
a new ecosystem opens with a default bucket already created and already granted, so the first call has somewhere to read.
Keys, not a key
an application can hold several access tokens, each created on its own, so revoking one leaves the rest working.
Nothing stranded
an admin can relocate data between ecosystems, and the identifiers your callers already hold keep resolving afterward.
Create it, fill it, grow it.
- Create an ecosystem from the hub. Its namespace comes from its parent, so you name the thing and not the path.
- Turn on the features the product uses, then register the applications that will call it.
- Nest a child underneath when the family grows; two children of different parents can carry the same name without colliding.