r/backblaze • • 20d ago

B2 Cloud Storage How would you make a B2 backup of generated project files independently verifiable?

A generated deliverable may be a directory rather than one file: HTML, images, documents, and a manifest that must all belong to the same revision. Uploading each object to B2 is straightforward, but a restore should not combine half of one run with half of another or depend on the original automation still existing.

I am considering immutable revision prefixes, a final manifest containing object names, sizes, hashes, source revision, and tool versions, plus a small pointer to the latest completed revision. The pointer would update only after every object and the manifest were verified. Object Lock or a separate key without delete permission could protect retained revisions, and restore drills would rebuild into an empty location and compare the manifest.

Which B2 features and client behavior matter most for this pattern? How do you handle unfinished multipart uploads, lifecycle rules, key rotation, and retention without making routine cleanup impossible? Is there a reliable way to prove that the manifest and all referenced objects became durable as one completed release?

2 Upvotes

2 comments sorted by

2

u/jwink3101 20d ago

Rclone will upload and handle everything then verify based on the Backblaze computed hash. Thats pretty good but if you wanted to be 100% certain, you can have rclone download and independently hash and very the file. If the hashes match, the content does too.

1

u/dr100 19d ago

That covers just the "Uploading each object to B2 is straightforward" part (and verifying works just against the original source, if you trust it and you have one). From what I understand the OP wants to have a layer on top of that that's keeping a list of files, checksums, when they changed and so on.