Skip to content

refactor(services/azure): migrate azblob azdls azfile to reqsign v2#7226

Merged
Xuanwo merged 3 commits intomainfrom
xuanwo/reqsign-azure-services-migration
Feb 26, 2026
Merged

refactor(services/azure): migrate azblob azdls azfile to reqsign v2#7226
Xuanwo merged 3 commits intomainfrom
xuanwo/reqsign-azure-services-migration

Conversation

@Xuanwo
Copy link
Member

@Xuanwo Xuanwo commented Feb 26, 2026

Which issue does this PR close?

Part of #6553.

Rationale for this change

The Azure services (azblob, azdls, azfile) were still using the old monolithic reqsign APIs.
This PR migrates them to reqsign v2 (reqsign-core + service-specific signer crates) and aligns the signing flow with the new Signer<Credential> model.

What changes are included in this PR?

  • Decouple azure-common from old reqsign types:
    • Add local AzureStorageConfig in opendal-service-azure-common
    • Remove direct reqsign dependency from azure-common
  • Migrate azblob, azdls, azfile dependencies:
    • Replace old reqsign dependency with:
      • reqsign-core
      • reqsign-azure-storage
      • reqsign-file-read-tokio
      • reqsign-http-send-reqwest
  • Migrate backend credential wiring:
    • Build reqsign_core::Context with TokioFileRead and ReqwestHttpSend
    • Use reqsign_azure_storage::DefaultCredentialProvider
    • Keep explicit config credentials (account_key / sas_token) as StaticCredentialProvider via push_front
  • Migrate core signing model:
    • Replace AzureStorageLoader + AzureStorageSigner with Signer<Credential>
    • Remove load_credential-style logic
    • Convert signing API from in-place &mut Request to owned Request -> Request flow
  • Keep existing behavior constraints:
    • Preserve x-ms-version insertion on normal requests
    • Preserve capability gating behavior around azblob presign

Validation:

  • cd core && cargo fmt
  • cd core && cargo check -p opendal-service-azblob -p opendal-service-azdls -p opendal-service-azfile
  • cd core && cargo clippy -p opendal-service-azblob -p opendal-service-azdls -p opendal-service-azfile --all-targets -- -D warnings
  • cd core && cargo test -p opendal-service-azblob -p opendal-service-azdls -p opendal-service-azfile

Are there any user-facing changes?

No user-facing API changes are intended.

AI Usage Statement

This PR was implemented with assistance from Codex (GPT-5) in the local development workflow.

@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. releases-note/refactor The PR does a refactor on code or has a title that begins with "refactor" labels Feb 26, 2026
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 26, 2026
@Xuanwo Xuanwo merged commit 2893a49 into main Feb 26, 2026
397 of 400 checks passed
@Xuanwo Xuanwo deleted the xuanwo/reqsign-azure-services-migration branch February 26, 2026 09:09
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/refactor The PR does a refactor on code or has a title that begins with "refactor" size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants