Skip to content

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.

What this feature needs to run (Requires, top) and the write commands it provides (Provides, bottom).

flowchart TB
  n_file_provider_s3["file-provider-s3"]
  subgraph how_reqs["Requires"]
    n_config["config"]
    n_secrets["secrets"]
    n_file_foundation["file-foundation"]
  end
  n_config --> n_file_provider_s3
  n_secrets --> n_file_provider_s3
  n_file_foundation --> n_file_provider_s3

Per-tenant config keys, set via the tenant-admin UI or a seed. 🔒 = encrypted at rest.

KeyTypeDefaultScopeWho can writeWho can read
access-key-idtext""tenantTenantAdmin, SystemAdminTenantAdmin, SystemAdmin
buckettext""tenantTenantAdmin, SystemAdminTenantAdmin, SystemAdmin
endpointtext""tenantTenantAdmin, SystemAdminTenantAdmin, SystemAdmin
force-path-stylebooleanfalsetenantTenantAdmin, SystemAdminall
regiontext""tenantTenantAdmin, SystemAdminTenantAdmin, SystemAdmin
SecretScopeHint
file-provider-s3:secret:s3-secret-access-keytenantPrivate half of the S3 key pair. Hetzner calls it ‘Secret Key’, AWS calls it ‘Secret Access Key’.
  • Registers extension: fileProviders3