Install
Storage

Azure Blob Storage

Azure Blob Storage as object storage, with workload identity, a managed identity or a connection string.

Relic authenticates with the default Azure credential (AKS workload identity, a managed identity, or AZURE_* variables), or a connection string.

Create the containers

This command creates the artifacts container:

az storage container create --account-name examplerelic --name artifacts --auth-mode login

This command creates the temporary container:

az storage container create --account-name examplerelic --name temporary --auth-mode login

Leave blob versioning and soft delete off for artifacts. Add a lifecycle rule that deletes blobs in temporary after one day.

Permissions

This command grants Relic's identity its role:

az role assignment create --assignee <client-id> --role "Storage Blob Data Contributor" \
  --scope /subscriptions/<subscription>/resourceGroups/<group>/providers/Microsoft.Storage/storageAccounts/examplerelic

Settings

RELIC_OBJECT_STORAGE_TYPE=azure
RELIC_OBJECT_STORAGE_ENDPOINT=https://examplerelic.blob.core.windows.net
RELIC_OBJECT_STORAGE_ARTIFACTS_BUCKET=artifacts
RELIC_OBJECT_STORAGE_TEMPORARY_BUCKET=temporary

A connection string (RELIC_OBJECT_STORAGE_AZURE_CONNECTION_STRING) replaces the endpoint.

Helm, with AKS workload identity:

seaweedfs:
  enabled: false
serviceAccount:
  annotations:
    azure.workload.identity/client-id: <client-id>
podLabels:
  azure.workload.identity/use: "true"
objectStorage:
  type: azure
  defaultCredentials: true
  endpoint: https://examplerelic.blob.core.windows.net
  artifactsBucket: artifacts
  temporaryBucket: temporary

Limitations

  • Copies stream through Relic. New content is read and written again to move it into artifacts.