file-provider-s3
Registers itself as the "s3" provider for file-foundation and owns the per-tenant config keys (bucket, region, endpoint, forcePathStyle, accessKeyId) and the encrypted s3.secretAccessKey secret. Compatible with any S3-compatible object store (AWS S3, Hetzner Object Storage); set credentials via the admin UI or a seed handler before the first file operation.
Dependencies
Section titled “Dependencies”- Requires:
config,secrets,file-foundation - Activation: always on (not toggleable)
Configuration
Section titled “Configuration”Per-tenant config keys, set via the tenant-admin UI or a seed. 🔒 = encrypted at rest.
| Key | Type | Default | Scope | Who can write | Who can read |
|---|---|---|---|---|---|
| access-key-id | text | "" | tenant | TenantAdmin, SystemAdmin | TenantAdmin, SystemAdmin |
| bucket | text | "" | tenant | TenantAdmin, SystemAdmin | TenantAdmin, SystemAdmin |
| endpoint | text | "" | tenant | TenantAdmin, SystemAdmin | TenantAdmin, SystemAdmin |
| force-path-style | boolean | false | tenant | TenantAdmin, SystemAdmin | all |
| region | text | "" | tenant | TenantAdmin, SystemAdmin | TenantAdmin, SystemAdmin |
Secrets
Section titled “Secrets”| Secret | Scope | Hint |
|---|---|---|
| file-provider-s3:secret:s3-secret-access-key | tenant | Private half of the S3 key pair. Hetzner calls it ‘Secret Key’, AWS calls it ‘Secret Access Key’. |
Extensions & cross-feature APIs
Section titled “Extensions & cross-feature APIs”- Registers extension:
fileProvider→s3