You're reading the open-source Community docs. Plakar also offers Control Plane, the enterprise version. It's a virtual appliance with a web-based interface for centralized backup management across your infrastructure. View Control Plane docs →

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 azblob

Verify installation:

$ plakar pkg list

Source 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 azblob

A 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.ptar

Verify installation:

$ plakar pkg list

To 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_key
  • no_auth=true with a valid endpoint

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/www

Destination 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=devstoreaccount1 with a local endpoint.