Skip to content

Comments

[rush-azure-storage-build-cache-plugin] Add custom endpoint support via storageEndpoint#5664

Merged
iclanton merged 3 commits intomicrosoft:mainfrom
ryceg:feat/custom-endpoint-azure-blob-storage
Feb 24, 2026
Merged

[rush-azure-storage-build-cache-plugin] Add custom endpoint support via storageEndpoint#5664
iclanton merged 3 commits intomicrosoft:mainfrom
ryceg:feat/custom-endpoint-azure-blob-storage

Conversation

@ryceg
Copy link
Contributor

@ryceg ryceg commented Feb 23, 2026

Summary

The Azure Blob Storage build cache plugin hardcodes the endpoint URL to https://<account>.blob.core.windows.net/, making it impossible to use with Azurite, private endpoints, or storage emulators. This PR adds an optional storageEndpoint configuration property that overrides the default, bringing the Azure plugin to parity with the S3 plugin's existing s3Endpoint support.

Details

Added a new optional storageEndpoint property that flows through all layers:

  • Schema (azure-blob-storage-config.schema.json): New storageEndpoint string property with uri format
  • Interface (IAzureStorageAuthenticationOptions): New optional storageEndpoint field
  • Constructor (AzureStorageAuthentication): Uses storageEndpoint when provided (with trailing slash normalization), falls back to the existing default URL
  • Plugin wiring (RushAzureStorageBuildCachePlugin): Passes storageEndpoint from config JSON through to the provider
  • The change is fully backwards-compatible. when storageEndpoint is omitted, behavior is identical to before.

The S3 plugin already supports this pattern via s3Endpointin AmazonS3BuildCacheProvider.

How it was tested

  • Added 3 unit tests covering: default endpoint when storageEndpoint is omitted, custom endpoint usage, and trailing slash normalization
  • All 10 tests pass (7 existing + 3 new)
  • Build completes with no warnings
  • API review file updated automatically by api-extractor

Impacted documentation

  • The storageEndpoint property should be documented alongside the existing azureBlobStorageConfiguration options on https://rushjs.io/pages/maintainer/build_cache/
  • The JSON schema in rush-plugins/rush-azure-storage-build-cache-plugin/src/schemas/azure-blob-storage-config.schema.json was updated

@iclanton iclanton enabled auto-merge (squash) February 23, 2026 18:26
@ryceg
Copy link
Contributor Author

ryceg commented Feb 23, 2026

@microsoft-github-policy-service agree [company="Astrolabe Enterprises"]

…-storage_2026-02-23-03-40.json

Co-authored-by: Ian Clanton-Thuon <iclanton@users.noreply.github.com>
auto-merge was automatically disabled February 23, 2026 22:08

Head branch was pushed to by a user without write access

@ryceg
Copy link
Contributor Author

ryceg commented Feb 23, 2026

@microsoft-github-policy-service agree company="Astrolabe Enterprises"

@iclanton iclanton merged commit 6457718 into microsoft:main Feb 24, 2026
6 checks passed
@github-project-automation github-project-automation bot moved this from Needs triage to Closed in Bug Triage Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Closed

Development

Successfully merging this pull request may close these issues.

2 participants