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.