Skip to content

feat(azure): implement Phase 3 Azure Blob Storage core operations and multi-CSP routing - #191

Merged
skyoo2003 merged 3 commits into
mainfrom
feat/phase-3-azure-blob-storage
Oct 10, 2026
Merged

skyoo2003 merged 3 commits into
mainfrom
feat/phase-3-azure-blob-storage

Conversation

@skyoo2003

Copy link
Copy Markdown
Owner

Overview

Implements Phase 3 Azure Blob Storage pilot and multi-CSP protocol/routing engine according to docs/roadmap.md.

Key Changes

  • OpenAPI Codegen Pipeline:
    • Expanded api/models/azure-blob-storage.json to full OpenAPI 3.0 specification covering 9 core container and BlockBlob operations with specific query constraints (?restype=container, ?comp=list).
    • Implemented internal/codegen/openapi_parser.go converting OpenAPI JSON into ir.Model, sorting routes by query constraint specificity for deterministic routing in httproute.Match.
    • Re-generated router, types, errors, and base provider under internal/generated/blob/.
  • Multi-CSP Auth & Gateway Protocol Detection:
    • Activated "azure" in internal/config/config.go.
    • Added support in internal/auth/azure_shared_key.go for SharedKey, SharedKeyLite, SAS query parameters, and local emulator path format (/devstoreaccount1).
    • Updated internal/gateway/protocol.go with isAzureRequest protocol sniffing to route Azure requests to ("rest-xml", "blob").
    • Added Azure-compliant XML error serialization (<Error><Code>...</Code><Message>...</Message></Error>) and x-ms-error-code header handling in internal/gateway/router.go.
  • Native Azure Blob Storage Provider & Local Storage Engine:
    • Implemented thread-safe FileStore in internal/services/blob/store.go storing container data and metadata with path traversal guards.
    • Implemented internal/services/blob/provider.go handling container & BlockBlob operations, standard Azure response headers, Range requests (HTTP 206, Content-Range), and XML EnumerationResults listing.
  • Testing & Verification:
    • Added unit test suites for openapi_parser, azure_shared_key, and blob provider/store.
    • Added end-to-end compatibility tests in test/compatibility/test_azure_blob.py with azure-storage-blob Python SDK.
    • Updated docs/coverage.md, docs/services/azure.md, and docs/architecture.md.

Verification

  • make test: All Go unit and integration tests passing.
  • pytest test/compatibility/test_azure_blob.py: Compatibility tests against live binary passing.

@github-actions github-actions Bot added documentation Improvements or additions to documentation tests Test code and test infrastructure codegen Smithy codegen and generated code services AWS service implementations labels Oct 10, 2026
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
Comment thread internal/services/blob/store.go Fixed
@skyoo2003
skyoo2003 merged commit a60d6c7 into main Oct 10, 2026
11 checks passed
@skyoo2003
skyoo2003 deleted the feat/phase-3-azure-blob-storage branch October 10, 2026 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codegen Smithy codegen and generated code documentation Improvements or additions to documentation services AWS service implementations tests Test code and test infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants