Skip to content

feat: add Azure Blob Storage as a third cloud storage provider#10

Open
navneet-patteri wants to merge 4 commits into
dhwani-ris:developfrom
navneet-patteri:azure_blob_storage
Open

feat: add Azure Blob Storage as a third cloud storage provider#10
navneet-patteri wants to merge 4 commits into
dhwani-ris:developfrom
navneet-patteri:azure_blob_storage

Conversation

@navneet-patteri

Copy link
Copy Markdown
Collaborator
  • Implements AzureBackend (backends/azure_backend.py) conforming to the existing CloudStorageBackend abstract interface — upload, delete, signed
    URL generation, public URL, and connection test
  • Adds azure_account_name, azure_private_container_name, azure_public_container_name, and azure_account_key fields to the Cloud Storage Configuration doctype; storage provider Select now includes Azure Blob Storage
  • Supports two auth modes: Storage Account Key (encrypted at rest, same pattern as S3 secret) and Managed Identity via
    DefaultAzureCredential — leave the key blank and azure-identity handles the credential chain
  • Private file signed URLs use SAS tokens generated with the account key or a User Delegation Key (Managed Identity path — requires Storage
    Blob Delegator role on the storage account)
  • Public files are served via direct blob URLs; public container must have Blob-level public access enabled in the Azure portal
  • Azure blob URLs (*.blob.core.windows.net) added to _is_cloud_file_url in controller.py to prevent re-upload of already-migrated files
  • azure-storage-blob>=12.0.0 and azure-identity>=1.0.0 added to requirements.txt
  • README updated to document the new provider, its configuration fields, and the Managed Identity setup requirements

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.

1 participant