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.