Skip to content

Comments

feat(services): split cacache, dbfs, dropbox, etcd, foundationdb into separate crates#7031

Merged
Xuanwo merged 5 commits intoapache:mainfrom
tao12345666333:split-services-batch
Dec 17, 2025
Merged

feat(services): split cacache, dbfs, dropbox, etcd, foundationdb into separate crates#7031
Xuanwo merged 5 commits intoapache:mainfrom
tao12345666333:split-services-batch

Conversation

@tao12345666333
Copy link
Member

@tao12345666333 tao12345666333 commented Dec 16, 2025

Summary

This PR extracts the following services into their own crates as part of the core split initiative (#6829):

Changes

Each service is now a standalone crate under core/services/ with:

  • Its own Cargo.toml with service-specific dependencies
  • Re-exported through the main opendal crate via feature flags
  • Registration with DEFAULT_OPERATOR_REGISTRY via ctor

API Compatibility

The public API remains unchanged - users can still access these services through opendal::services::{ServiceName} when the corresponding feature flag is enabled.

Testing

  • cargo check -p opendal-service-cacache
  • cargo check -p opendal-service-dbfs
  • cargo check -p opendal-service-dropbox
  • cargo check -p opendal-service-etcd
  • cargo check -p opendal-service-foundationdb
  • cargo check -p opendal

AI Usage Statement

Claude Code + Claude 4.5 Opus

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. releases-note/feat The PR implements a new feature or has a title that begins with "feat" labels Dec 16, 2025
Copy link
Member

@Xuanwo Xuanwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on them

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Dec 16, 2025
@Xuanwo
Copy link
Member

Xuanwo commented Dec 17, 2025

Hi, @tao12345666333 can you help fix the faied CI? I think it's better to get this PR in first to avoid large conflicts.

… separate crates

This PR extracts the following services into their own crates:
- cacache -> opendal-service-cacache (closes apache#6883)
- dbfs -> opendal-service-dbfs (closes apache#6889)
- dropbox -> opendal-service-dropbox (closes apache#6890)
- etcd -> opendal-service-etcd (closes apache#6891)
- foundationdb -> opendal-service-foundationdb (closes apache#6892)

Each service is now a standalone crate under core/services/ with:
- Its own Cargo.toml with service-specific dependencies
- Re-exported through the main opendal crate via feature flags
- Registration with DEFAULT_OPERATOR_REGISTRY via ctor

The public API remains unchanged - users can still access these
services through opendal::services::{ServiceName} when the
corresponding feature flag is enabled.
Xuanwo and others added 3 commits December 17, 2025 15:39
@Xuanwo Xuanwo merged commit a607dc1 into apache:main Dec 17, 2025
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/feat The PR implements a new feature or has a title that begins with "feat" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

3 participants