Azure Blob Storage
The Azure Blob Storage integration enables backup and restoration of Azure Blob Storage containers. All container contents including blobs, metadata, and prefix hierarchies are captured and stored in a Kloset store with encryption and deduplication.
The Azure Blob Storage integration provides three connectors:
| Connector type | Description |
|---|---|
| Source connector | Back up Azure Blob containers into a Kloset store. |
| Storage connector | Use Azure Blob Storage as a Kloset store backend. |
| Destination connector | Restore container contents from a Kloset store back to Azure Blob Storage. |
Installation
The Azure Blob Storage package can be installed using pre-built binaries or compiled from source.
Pre-compiled packages are available for common platforms and provide the simplest installation method.
Logging In
Pre-built packages require Plakar authentication. See Logging in to Plakar for details.
Install the Azure Blob Storage package:
$ plakar pkg add azblobVerify installation:
$ plakar pkg listSource builds are useful when pre-built packages are unavailable or when customization is required.
Prerequisites:
- Go toolchain compatible with your Plakar version
Build the package:
$ plakar pkg build azblobA package archive will be created in the current directory (e.g.,
azblob_v1.0.0_darwin_arm64.ptar).
Install the package:
$ plakar pkg add ./azblob_v1.0.0_darwin_arm64.ptarVerify installation:
$ plakar pkg listTo list, upgrade, or remove the package, see managing packages guide.
Configuration
Authentication
Authentication can be provided in multiple ways depending on your environment. At least one of the following must be provided:
connection_string(recommended)account_name+account_keyno_auth=truewith a validendpoint
Configuration options
These options apply to all three connectors (source, storage, destination).
| Option | Description |
|---|---|
account_name |
Azure Storage account name. |
account_key |
Azure Storage account key. |
connection_string |
Azure Storage connection string. Takes precedence over account name and key. |
endpoint |
Custom endpoint, for example Azurite or a non-standard Azure environment. |
no_auth |
Disable authentication. Only for public containers or testing. |
Warning
No Auth Setting no_auth=true disables authentication entirely. Only use this
for public containers or local emulator setups such as Azurite. Never use it
in production.
Source connector
The source connector retrieves blobs from Azure Blob Storage containers and stores them in a Kloset store with encryption and deduplication.
flowchart LR subgraph Source["Azure Blob Container"] FS["Blobs"] end subgraph Plakar["Plakar"] Connector["Retrieve blobs via
Azure Blob API"] Transform["Encrypt & deduplicate"] Connector --> Transform end Source --> Connector Store["Kloset Store"] Transform --> Store
Register the source and run a backup:
$ plakar source add my-az-container \
azblob://container_name \
connection_string=<YOUR_CONN_STRING>
$ plakar at /var/backups backup "@my-az-container"To back up a specific prefix within a container:
$ plakar at /var/backups backup "@my-az-container:path"Storage connector
The storage connector uses Azure Blob Storage as the backend for a Kloset store. All Plakar data — snapshots, chunks, metadata — is stored as blobs.
flowchart LR subgraph Sources["Any Source"] FS["Data"] end subgraph Plakar["Plakar"] Transform["Encrypt & deduplicate"] Connector["Store via
Azure Blob API"] Transform --> Connector end Sources --> Transform subgraph Storage["Azure Blob Container"] Store["Kloset Store"] end Connector --> Store
Register the store, initialize it, and run a backup:
$ plakar store add my-az-store \
azblob://container_name \
connection_string=<YOUR_CONN_STRING>
$ plakar at "@my-az-store" create
$ plakar at "@my-az-store" backup /var/wwwDestination connector
Restores blobs from a Kloset store back to an Azure Blob Storage container.
flowchart LR Store["Kloset Store"] subgraph Plakar["Plakar"] Transform["Decrypt & reconstruct"] Connector["Restore via
Azure Blob API"] Transform --> Connector end Store --> Transform subgraph Destination["Azure Blob Container"] FS["Blobs"] end Connector --> Destination
Register the destination and restore a snapshot:
$ plakar destination add my-az-restore \
azblob://container_name \
connection_string=<YOUR_CONN_STRING>
$ plakar at /var/backups restore -to "@my-az-restore"Notes
- Azure Blob Storage uses containers instead of buckets.
- Blob storage is flat; directory structures are simulated using prefixes.
- Empty directories are not preserved unless they contain blobs.
- When using Azurite, provide either a connection string or
account_name=devstoreaccount1with a local endpoint.