opendal icon indicating copy to clipboard operation
opendal copied to clipboard

refactor: split gridfs service out as new crate

Open codxbrexx opened this issue 1 week ago • 0 comments

Which issue does this PR close?

Closes #6898.

Rationale for this change

This PR extracts the gridfs service from opendal-core into its own crate opendal-service-gridfs as part of the core-split effort (RFC-6828). This helps separate service-specific dependencies (like mongodb which is heavy) from the core logic, improving maintainability and compilation speed for users who don't need this service.

What changes are included in this PR?

  • Created a new crate core/services/gridfs.
  • Moved implementation files (backend.rs, core.rs, writer.rs, etc.) from core/core/src/services/gridfs to the new crate.
  • Removed gridfs logic and dependencies from opendal-core.
  • Updated feature flags: services-gridfs in opendal now points to opendal-service-gridfs.
  • Updated lib.rs in the facade to re-export GridFs.

Are there any user-facing changes?

No. The public API opendal::services::GridFs remains unchanged. Users can continue to use the service exactly as before, provided they have the services-gridfs feature enabled.

AI Usage Statement

AI tools were used only for understanding existing code and project documentation. All code changes were written and reviewed manually.

codxbrexx avatar Dec 16 '25 21:12 codxbrexx