Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project scope and organisation #24

Open
tdikland opened this issue Jan 2, 2024 · 1 comment
Open

Project scope and organisation #24

tdikland opened this issue Jan 2, 2024 · 1 comment

Comments

@tdikland
Copy link
Contributor

tdikland commented Jan 2, 2024

There have been several discussions about the organisation and scope of this project, for example #19 and #22. Let's discuss some options here.

@tdikland
Copy link
Contributor Author

tdikland commented Jan 2, 2024

What I would love to see in this project:

  • A Delta Sharing server that could be configured and launched from the command line that is at least at feature parity with the reference server implementation here
  • A library with implementation of the Delta Sharing Protocol (i.e. the REST API) that can be completely customised.

The Delta Sharing server implementation is already making good progress and is on its way to be at parity with the reference implementation. In doing so the server did make some assumptions, for example it uses a postgres database to store the shared tables, it includes some admin routes, etc. I think this is great, because it allows people to get up and running quick and easy.

The second point, a library only focused on implementing the protocol, would be aimed at more advanced users who want to customize their Delta Sharing server (e.g. auth middleware, rate limiting, storing shared tables in a different database, etc.). These users could depend on this crate for the core implementation (and maybe also some middleware) and customise it by implementing traits. I have some idea's/findings from experimentation in https://github.com/tdikland/delta-sharing-server-rs.

Regarding organisation, I think it makes sense to have a crate that implements the Delta Sharing protocol, a crate with useful extensions/middleware for the sharing server and finally a reference implementation that depends on the aforementioned crates and that is plug&play.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant