bolcom / unFTP

A FTP(S) server with a couple of twists written in Rust. Follow and talk to us on https://t.me/unftp. Docs on https://unftp.rs
Apache License 2.0
264 stars 20 forks source link

New storage backend: OpenDAL #183

Closed George-Miao closed 2 months ago

George-Miao commented 3 months ago

OpenDAL is a project that offers a unified data access layer for user. Recently I have implemented a SBE for opendal under integrations/unftp-sbe and would like to upstream the integration to unFTP binary. Feel free to comment on the implementation or point out any problem. I'm also willing to make a PR if it looks good to you.

hannesdejager commented 3 months ago

Oh wow, this seems nice, thanks @George-Miao

I think it makes sense the have the storage back-end in its own crate called unftp-sbe-opendal and then just pull that dependency into unFTP and add command line arguments to configure it, optionally hiding it behind a feature. This would be inline with our contribution request here: https://github.com/bolcom/libunftp/blob/master/CONTRIBUTING.md#developing-your-own-authentication-or-storage-back-end-implementation

We would love to see many of these emerge on crates.io to create an ecosystem of usable FTP building blocks for Rust. If we can ask that you prefix your crate names:

unftp-auth- for authentication implementations unftp-sbe- for storage back-end implementations Keeping this naming convention will allow a consistent and easy way for people to find libunftp extentions on crates.io

George-Miao commented 3 months ago

If this looks good to you, should I proceed with the PR?

Xuanwo commented 3 months ago

That's fantastic! Users can now access additional storage services through opendal. Hopefully, this addresses the issue at https://github.com/bolcom/libunftp/issues/342

hannesdejager commented 3 months ago

@George-Miao Yes lets do a PR