Skip to content

storage connectors

Cloud object-storage integrations beyond the primary S3 / GCS / Azure Blob (which live in their vendor categories). After the 2026-06-19 SDK migration, all five of the S3-compat + Dropbox + B2 connectors run on official Go SDKs, with a shared storage_common.go dispatch helper that powers MinIO, Wasabi, and Cloudflare R2 from a single code path.

Connectors in this category

Connector URI / type Native SDK One-line description
azure_data_lake_gen2 connector://<name>/send (covered by Azure batch) ADLS Gen2 hierarchical namespace.
backblaze connector://<name>/send ✅ kurin/blazer/b2 v0.5.3 (canonical) B2 native protocol (faster than S3-compat for B2 ops).
box connector://<name>/send REST (no Go SDK upstream) Files / folders / collaborations.
cloudflare_r2 connector://<name>/send ✅ minio/minio-go/v7 (S3-compat) Cloudflare R2 object storage.
dropbox connector://<name>/send ✅ dropbox/dropbox-sdk-go-unofficial/v6 v6.0.5 (Dropbox-published) Files + folders + uploads + moves.
minio connector://<name>/send ✅ minio/minio-go/v7 v7.2.0 (MinIO's own) MinIO + any S3-compatible storage.
s3_storage connector://<name>/send (covered by AWS batch via aws_s3) Generic S3-compatible backend.
wasabi connector://<name>/send ✅ minio/minio-go/v7 (S3-compat) Wasabi hot cloud storage.

For the canonical AWS S3 connector (native aws-sdk-go-v2/service/s3) see the aws_s3 entry under aws.

Deep notes — SDK-backed connectors

minio:// (also wasabi://, cloudflare_r2://)

Source: pkg/connector/connectors/storage/{minio,wasabi,cloudflare_r2}.go · Shared dispatch: storage_common.go · SDK: minio/minio-go/v7 v7.2.0

The MinIO Go SDK speaks plain S3, so it works against MinIO, Wasabi, Cloudflare R2, DigitalOcean Spaces, and any future S3-compat backend. Three Helix connectors share a single 200-line dispatch helper (dispatchS3Compat) — each connector is just a schema + default endpoint around it.

Ops (9): put, get, list, delete, stat, list-buckets, create-bucket, delete-bucket, presign-get.

connectors:
  s3:
    type: minio
    config:
      endpoint:   minio.example.com:9000
      access_key: ${MINIO_ACCESS_KEY}
      secret_key: ${MINIO_SECRET_KEY}
      region:     us-east-1
      bucket:     helix-data
      use_ssl:    true

dropbox://

Source: pkg/connector/connectors/storage/dropbox.go · SDK: dropbox/dropbox-sdk-go-unofficial/v6 v6.0.5

Dropbox-published SDK. "Unofficial" is the repo name not the support status — Dropbox maintains it on their GitHub org.

Ops (7): upload, download, list-folder, delete, get-metadata, create-folder, move.

connectors:
  dbx:
    type: dropbox
    config:
      access_token: ${DROPBOX_ACCESS_TOKEN}    # OAuth2 access token

backblaze://

Source: pkg/connector/connectors/storage/backblaze.go · SDK: kurin/blazer/b2 v0.5.3

Canonical Go B2 client. Uses B2's native protocol (not S3-compat), which is faster for B2-native operations like file-info and multi-part large-file upload.

Ops (7): upload, download, list-files, delete-file, list-buckets, create-bucket, get-file-info.

connectors:
  b2:
    type: backblaze
    config:
      account_id:      ${B2_KEY_ID}
      application_key: ${B2_APPLICATION_KEY}
      bucket:          helix-backups

Runnable bundle

A complete, validatable bundle that exercises every SDK-backed connector lives at examples/esb/storage.yaml:

bin/helix validate examples/esb/storage.yaml
# Validation passed: 0 workflow(s), 5 connector(s), 0 starlang block(s)

See also

  • aws_s3 (in aws) — native AWS SDK for primary S3.
  • cloud_storage (in google) — Google Cloud Storage.
  • blob_storage (in azure) — Azure Blob Storage.