From 86cfb218f2c21a296766b2e01e7d2bf7863b6f4c Mon Sep 17 00:00:00 2001 From: Tyler <53561637+im-tyler@users.noreply.github.com> Date: Fri, 6 Nov 2026 15:30:02 -0700 Subject: [PATCH] docs(backup): B2 needs a rule for hidden backups, and name the key's capabilities Co-Authored-By: Claude Opus 5.5 --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 2896bd8..b7ef020 100644 --- a/README.md +++ b/README.md @@ -837,6 +837,14 @@ aws s3api put-bucket-lifecycle-configuration --bucket B --lifecycle-configuratio On B2 the same thing in its own terms is a lifecycle rule with `fileNamePrefix` `PREFIX/.incoming/`, `daysFromUploadingToHiding` 1 and `daysFromHidingToDeleting` 1. +The S3 form above does not fit B2, which wants a paired rule per prefix. + +B2 also keeps hidden versions forever by default, and a key without `deleteFiles` can only +hide, so backups that retention removes stay billed until a rule deletes them. Add a second +rule with `fileNamePrefix` `PREFIX/`, `daysFromHidingToDeleting` 30 and no +`daysFromUploadingToHiding`, which would hide live backups. Overlapping rules are allowed, +and B2 applies the smallest value of each property. The B2 application key needs `listFiles`, +`readFiles`, `writeFiles` and `readBucketLifecycleRules`. The aws CLI must be at least 2.23.0 (or 1.37.0), the first to send a checksum on every upload, which a bucket with Object Lock requires. An older one is refused with the remedy,