8000 Suggestion: Consider integrating OpenDAL for unified object storage support · Issue #76 · gigapi/gigapi · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Suggestion: Consider integrating OpenDAL for unified object storage support #76

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

Open
mrchypark opened this issue Apr 25, 2025 · 2 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@mrchypark
Copy link

Hi team,

First of all, thank you for your excellent work on gigapi. It's refreshing to see such a thoughtfully structured and developer-friendly approach to building API clients.

While reviewing potential improvements to the file or object storage layer, I came across [Apache OpenDAL](https://github.com/apache/opendal) and wanted to suggest it as a candidate worth considering.

Why OpenDAL?

OpenDAL provides a unified interface for accessing various storage backends, including local filesystems, S3, GCS, Azure Blob Storage, HDFS, and many more — all through a consistent API. What makes it particularly compelling is:

  • Unified abstraction: You write your logic once and can switch between backends with minimal change.
  • Performance & safety: It’s written in Rust, with bindings available for Go via FFI.
  • Active development: The project is under active maintenance by the Apache foundation, with a growing ecosystem.
  • Features: Supports async operations, multipart uploads, presigned URLs, and more.

How it might benefit gigapi

If gigapi is handling any kind of object storage interaction (e.g., uploading/downloading files or managing data blobs), OpenDAL can greatly simplify backend integration and enhance portability. Even if it's not in the current roadmap, having an optional storage abstraction layer could help future-proof the architecture and improve testability by mocking against a single interface.

Here’s their Go binding repo for reference:
👉 [opendal/bindings/go](https://github.com/apache/opendal/tree/main/bindings/go)

Of course, I fully respect the direction and philosophy of gigapi — this is just a suggestion offered in the spirit of open collaboration. If it aligns with your goals, I’d be happy to help explore a prototype integration or gather some benchmarks.

Thanks again for your great work!

Warm regards,
Chanyub Park

Copy link

Thanks for opening an Issue! Please star this repository to motivate developers! ⭐

@lmangani lmangani added enhancement New feature or request question Further information is requested labels May 4, 2025
@mrchypark
Copy link
Author
mrchypark commented May 8, 2025

https://github.com/thanos-io/objstore

how about using go package like this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comme 4535 nt
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants
0