You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For kamu-web-ui we designed a nice routing scheme that maximally avoids collisions between /{account}/{dataset} paths and other application endpoints.
As the set of supported protocols grows we are facing the same issue in kamu-node, where endpoints like /query introduce ambiguity with accounts.
We want to get this under control and avoid the chance of collisions.
We should:
Consider how important having /{account}/{dataset} as a root-level endpoint is for the node, as perhaps we can achieve this URL brevity and convenience for users through some additional level of indirection that happens under the hood.
Introduce major version /v1/ into path for upgradeability
The text was updated successfully, but these errors were encountered:
How about all HTTP-based APIs we separate by /protocol prefix:
/graphql
/odf/v1/:account/:dataset/blocks/head
/odata/v3/$metadata
All other APIs (e.g. FlightSQL) will exist on distinct ports.
To preserve nice concise URLs:
User does kamu login frontend.opendatafabric.net
Login flow returns node URL as odf+https://node.opendatafabric.net/odf/
Node URL is registered as a repo named frontend.opendatafabric.net that resolves to above URL
Therefore kamu push my.dataset frontend.opendatafabric.net becomes a push to odf+https://node.opendatafabric.net/odf/my.account/my.dataset/push
It's unclear how to handle kamu pull odf+https://frontend.opendatafabric.net/my.account/my.dataset. This would likely require frontend to understand that ODF protocol is requested and redirect user to the node URL.
For
kamu-web-ui
we designed a nice routing scheme that maximally avoids collisions between/{account}/{dataset}
paths and other application endpoints.As the set of supported protocols grows we are facing the same issue in
kamu-node
, where endpoints like/query
introduce ambiguity with accounts.We want to get this under control and avoid the chance of collisions.
We should:
/{account}/{dataset}
as a root-level endpoint is for the node, as perhaps we can achieve this URL brevity and convenience for users through some additional level of indirection that happens under the hood./v1/
into path for upgradeabilityThe text was updated successfully, but these errors were encountered: