Skip to content

feat: add Azure Blob Storage support for backups - #137

Open
MaybeSam05 wants to merge 1 commit into
operasoftware:mainfrom
geico:feat/azure-support
Open

feat: add Azure Blob Storage support for backups#137
MaybeSam05 wants to merge 1 commit into
operasoftware:mainfrom
geico:feat/azure-support

Conversation

@MaybeSam05

Copy link
Copy Markdown
Contributor

feat: add Azure Blob Storage support for backups

Adds Azure Blob Storage as a backup destination alongside the existing S3 support. The Azure path mirrors S3 end to end and existing S3 configurations are unaffected.

Changes

  • Config API (api/config.go): new azureCredentials block (account, key, key type shared/sas, uriStyle); credential-presence check recognizes Azure.
  • Command builder (command/commandbuilder.go): emits Azure flags (type=azure, container, path, path-style addressing).
  • Credentials (credentials/credentials.go): reads the Azure account/key from the secret and exports them as env vars (never on the command line).
  • RBAC (operator/specs/secrets.go): allows the plugin to read the Azure secret.
  • CRD / manifest: regenerated to accept azureCredentials.

Testing

  • Unit tests for the command builder, credentials, and config (go test ./internal/pgbackrest/{command,credentials,api}/).
  • End-to-end backup/restore and point-in-time recovery against an Azurite emulator (task e2e-external-kind).

Compatibility

Additive only. Azure activates when azureCredentials is set; the S3 workflow is unchanged.

@MaybeSam05
MaybeSam05 force-pushed the feat/azure-support branch 3 times, most recently from b7af9cb to 23e7c29 Compare August 12, 2026 20:29
@MaybeSam05

Copy link
Copy Markdown
Contributor Author

Squashed into one commit and force-pushed for conventional-commit compliance. Also rebased onto latest main so the branch keeps upstream CreateStanza changes alongside the Azure work, the earlier squash had accidentally dropped those. Should be good for review now.

Adds Azure Blob Storage as a backup destination alongside existing S3
support. Introduces azureCredentials configuration, command-builder flags,
credential env injection, RBAC for Azure secrets, and Azurite e2e tests.
Existing S3 configurations are unaffected.

Signed-off-by: Samarth Verma <verma.samarth05@gmail.com>
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