Skip to content
SYS.DOCS // DOCS

Object Storage

Object Storage integrations are reusable storage targets you register once at the account level and reuse across backups and other storage-backed workflows. Each target stores its bucket and connection metadata in Edka and its access credentials in Vault.

Open Integrations → Object Storage to manage these targets. The page lists your registered integrations and reports how many are connected.

When you add a target, you pick one provider. The provider determines which fields are required.

ProviderLabelUse for
Amazon S3aws-s3AWS-managed buckets configured by bucket and region.
Azure Blob Storageazure-blobAzure Storage account and container using account key auth.
Google Cloud Storagegcp-gcsBucket access backed by a Google Cloud service account JSON.
S3-Compatibles3-compatibleMinIO, Wasabi, Ceph, Hetzner Object Storage, and similar APIs.
  1. Open Integrations → Object Storage.
  2. Select Add Integration.
  3. Choose a provider.
  4. Enter a Name — the internal label shown in the integrations list.
  5. Complete the provider-specific fields and credentials.
  6. Select Save Integration.

Adding, editing, and removing targets requires the admin role. Reading them requires account read access.

Every target requires a Name plus the provider fields below. Credentials are required when you create a target.

ProviderConfiguration fieldsCredential fields
Amazon S3Bucket, RegionAccess Key ID, Secret Access Key
Azure Blob StorageAccount Name, Container Name, Endpoint Suffix (core.windows.net)Account Key
Google Cloud StorageBucketService Account JSON
S3-CompatibleBucket, Endpoint URL, Force Path Style; Region optionalAccess Key ID, Secret Access Key

Notes verified against the create form and schema:

  • Endpoint URL for S3 compatible targets must be a valid URL.
  • Force Path Style is a toggle; enable it for providers that require path-style addressing. It defaults to off.
  • Service Account JSON is the full Google Cloud service account key document. Edka reads the project_id and client_email from it for display.
  • Endpoint Suffix for Azure defaults to core.windows.net if left blank.

Object storage targets are selected by other workflows rather than used directly from this page:

  • Agent state backups. Hermes agent state backups are written to a selected object storage integration on a schedule, configured per agent.
  • PostgreSQL database backups. Managed PostgreSQL backups can write to a selected object storage integration.

Backup uploads use a presigned multipart strategy for Amazon S3 and S3 compatible targets. Google Cloud Storage is supported for agent state backups, while Azure Blob Storage is not yet supported as a PostgreSQL backup target.

  • Credentials are written to Vault, never stored in the integrations table, and are never shown again after you save them.
  • To rotate credentials when editing a target, enable Rotate credentials and enter new values. Leaving rotation off keeps the stored secret unchanged.
  • The provider of an existing target cannot be changed. To switch providers, remove the target and add a new one.
  • Removing a target deletes both the database record and its stored credentials in Vault. Workflows still referencing it will lose access.