Storages
storages is an array of destinations. A job uploads each archive to all configured storages. Use defaultStorage on the job to mark which one the UI surfaces first.
Supported types
Every storage entry must set a name. It identifies the storage in defaultStorage, in logs, and in the UI. Names must be unique within a single job.
On-disk layout
snapr writes every snapshot under a per-job subdirectory inside the storage's path:
This layout is the same on every backend (Local, S3, SFTP, WebDAV, Bunny). It lets snapr filter by job natively — S3 uses Prefix, the others list one directory — instead of scanning the whole path and filtering by name. Sharing one storage across many jobs is cheap.
Split snapshots get an extra wrapper directory; see Splitter.
Listing cache
The backups list returned to the UI is cached per (job, storage) pair for 5 minutes. snapr invalidates the cache immediately after every upload, delete, and retention sweep, so changes made by snapr itself are visible right away. Files placed or removed manually (outside of snapr) appear up to 5 minutes later.