Lifecycle
Object expiry, quotas, and cleanup – via cron and ZFS.
Object expiry
# Delete files older than 90 days
find /srv/putfs/acme-corp/temp/ -type f -mtime +90 -delete
# Cron: daily cleanup
0 3 * * * find /srv/putfs/acme-corp/temp/ -type f -mtime +90 -delete
Quotas
Warning
PutFS has no application-level upload size limit (client_max_body_size 0). Without quotas, an authenticated user can fill the disk. Always configure storage limits.
Per-dataset storage limits via ZFS:
PutFS returns 507 Insufficient Storage when the filesystem is full.
Bucket cleanup
# Remove entire dataset
rm -rf /srv/putfs/acme-corp/old-dataset/
# Or via ZFS (instant, no recursive delete)
zfs destroy tank/putfs/acme-corp/old-dataset
Further reading
- OpenZFS quotas (
quotaproperty) - OpenZFS
zfs destroy