Aeion Files + S3 / R2 / GCS / Azure

Aeion Files is the intelligent metadata + access layer. The bytes live in your cloud account, in your bucket, billed to your account. Storage backends are pluggable adapters — AWS S3, Cloudflare R2, Google Cloud Storage, Azure Blob, and local disk all behave identically to Aeion Files. Any S3-wire-compatible service (Wasabi, Backblaze B2, MinIO, DigitalOcean Spaces) works through the same S3 adapter via a custom endpoint. Automatic backend selection by file size/type, per-call backend override, and failover/replicate storage pools are all expressed once in the Aeion abstraction.

Supported Backends

`

Per-Tenant BYOB (Bring Your Own Bucket)

```typescript

Automatic Backend Selection + Redundancy Pools

```typescript

Setup Walkthrough — AWS S3 with AssumeRole

```bash

FAQ

Yes — each tenant's storage config (backend, bucket, credentials) is independent.

Possible using per-tenant key prefixes and pre-signed URLs, though a per-tenant bucket is simpler for access-log auditing.

Not via a built-in migration wizard today — moving existing objects between backends is a manual copy/re-upload. Aeion Files' `copy()` operation can move a single object between backends (download from source, upload to destination); bulk migration is a scripting exercise against that API, not a one-click admin tool.

Set up native S3 / R2 / GCS bucket replication in your cloud console — Aeion Files doesn't manage or track replication itself. For redundancy within Aeion, a `replicate` storage pool writes to two backends synchronously with per-backend circuit breakers.

Point your CDN at the bucket per your cloud provider's normal setup; Aeion Files' `publicUrlBase` config lets it generate URLs through that CDN domain instead of the raw bucket URL.

Configurable per request when generating the URL (`expiresIn`, in seconds); no fixed platform default is enforced.

Whatever your bucket's default encryption policy specifies (SSE-S3, SSE-KMS, etc.) — Aeion Files doesn't set or manage encryption settings itself, it writes through to whatever the bucket enforces.

AWS S3 Standard: $0.023/GB/month + egress. R2: $0.015/GB/month + $0 egress. B2: $0.005/GB/month + low egress. Wasabi: $0.0059/GB/month + free egress. Per-workload trade-off.

No. Bytes stay in tenant's bucket. Aeion stores metadata + indexes in the tenant's Postgres.

Your data is already in your bucket. Export metadata via Singularity. Aeion Files is the layer; the data is yours.

Your bucket. Your keys. Your billing.