Skip to content

feat(azure): add native Azure Blob Storage support and distributed leases - #114

Open
tomdesair wants to merge 14 commits into
masterfrom
feature/azure-blob-storage-support
Open

feat(azure): add native Azure Blob Storage support and distributed leases#114
tomdesair wants to merge 14 commits into
masterfrom
feature/azure-blob-storage-support

Conversation

@tomdesair

Copy link
Copy Markdown
Owner

Description

This PR introduces native Azure Blob Storage support for tus-java-server following cloud-native architecture principles.

Key Highlights:

  • AzureBlobStorageService: Block Blob staging with auto-calibrating block sizes (4 MiB up to 100 MiB supporting up to 4.75 TiB uploads), .part sub-threshold buffering, truncation, UploadInfo JSON metadata serialization, and self-cleaning checksum deduplication index.
  • AzureBlobLockingService: Distributed locking using 30s native Azure Blob Leases with background renewal thread, JVM-local stream interruption, and cross-pod .stop signal blobs for multi-replica container deployments.
  • AzureBlobConcatenationService: Server-side zero-copy concatenation via stageBlockFromUrl with fallback for Azurite emulator support.
  • Documentation: Comprehensive usage, architecture, and RBAC guide in docs/AZURE_BLOB_STORAGE.md, updated README.md, and CHANGELOG.md.
  • Testing & Coverage: Passed all 44 integration tests across Tus 1.0.0 and IETF RUFH specifications against Azurite container. 100% line & branch coverage on new/modified code.

@coveralls

coveralls commented Aug 11, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 94.887% (-0.9%) from 95.768% — feature/azure-blob-storage-support into master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants