Files
felhom.eu/documentation/runbooks/provider-questions-2026-09-01.md
T
admin 1d59353df4
gates / gates (push) Successful in 18s
provider questions: arm them against the Storage Box / Storage Share conflation (operator-found)
The operator noticed the "can I restore specific files from within a backup?" FAQ lives under
storage-share, not storage-box, and asked which product it covers. It is Storage SHARE only —
a managed Nextcloud — and it never mentions Storage Box. Its own text gives it away: Nextcloud's
data cache, a database dump, the konsoleH web interface.

The two products document OPPOSITE answers:
  Storage BOX   (ours) "You can download individual files or entire directories as usual"
  Storage SHARE (not)  "we only support restores for the full backup ZFS snapshot"

That matters because a web search for the obvious phrasing surfaces the SHARE page and it reads
like a definitive NO — so a support agent could answer Question 1 from the wrong page and push
R-95 to the top of the register for no reason. Question 1 now names the product, quotes the
Storage Box line, and states up front that we know what the Share FAQ says. A warning block at
the head of the file tells the reader to check which product any full-snapshot-only answer is
about before acting on it.

Verified by grep: nothing in this repository ever leaned on the Share claim. The only vendor
line cited anywhere is the Storage Box one.

R-436 strengthened from the same source the operator supplied: the rclone-over-SSH restic
backend is OFFICIALLY DOCUMENTED, not merely advertised in a shell banner --
"we support the restic backend, which is provided by Rclone over SSH". And the same page settles
that the docs cannot answer the caveat: neither its Rclone nor its Restic section mentions
append-only at all, so nobody need re-read the documentation hoping for it. Unlooked-for
corroboration: that page's port-23 command table matches, item for item, the help output
measured live on our own sub-account.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LB8FmJaGd2cyjvy6dbEjpM
2026-09-01 18:59:37 +02:00

8.1 KiB

Two questions for Hetzner — drafted, ready to send (2026-09-01)

These are the only thing standing between us and finishing R-95 properly. They cost nothing and they are answerable by a support agent without escalation.

Send them yourself. CC drafted them and did not send them, and did not call the provider API — §11-D is still the operator's fence. No credential, password or token appears below, and none should be added. The account id and the product name are all either question needs.

What to fill in: the ticket needs the Storage Box account. Ours is u629488 (the box the register calls storage-box-pool-1, plan BX11). Nothing else.

Why two separate tickets: they go to different parts of the answer — one is about the snapshot product, one is about the SSH endpoint's configuration — and a single ticket asking both tends to get one answered and the other dropped.


⚠ READ THIS BEFORE YOU SEND, AND BEFORE YOU BELIEVE AN ANSWER: two Hetzner products, opposite answers

Hetzner has two similarly-named storage products and their documentation says OPPOSITE things about restoring a single file. We are a Storage BOX. The answer that says "no" belongs to the other one.

Storage Box — what we have Storage Share — not us
what it is plain SFTP/SSH storage, sub-accounts, u629488 a managed Nextcloud instance
single file out of a snapshot "You can download individual files or entire directories as usual" — docs.hetzner.com/storage/storage-box/snapshots/ "Currently, we only support restores for the full backup ZFS snapshot to a specific point in time" — docs.hetzner.com/storage/storage-share/faq/backup-snapshot/

How to tell the Storage Share page apart at a glance: it talks about Nextcloud's data cache, a database dump, and the konsoleH web interface, and it never mentions Storage Box.

Why this is load-bearing rather than trivia. A search for "Hetzner restore individual files from snapshot" surfaces the Storage Share FAQ, and it reads like a definitive "no". A support agent answering Question 1 could reasonably reply from that page and give us a wrong answer — one that would send R-95 to the top of the register for no reason. Question 1 below therefore names the product, quotes the Storage Box line, and asks about the main account specifically. If an answer comes back citing full-snapshot-only, check which product it is about before acting on it. Caught 2026-09-01 by the operator noticing the URL said storage-share.


Question 1 — can the MAIN account retrieve individual files from a snapshot?

Why it matters, in one line: if it cannot, the only route back is a whole-box rollback that hits every customer on the box and destroys every newer snapshot — which would mean the snapshots protect almost nobody in practice. This is the question that decides how urgent R-95 is.

Subject: Storage Box u629488 — retrieving individual files from a snapshot

Hello,

We use Storage Box u629488 with sub-accounts, and daily automatic snapshots are enabled.

We can reach /.zfs/snapshot from a sub-account, but it lists as empty, and no snapshot name we try can be entered. We understand sub-accounts may be restricted here.

Your Storage Box documentation says, under Snapshots: "You can download individual files or entire directories as usual."

Our question is about the main account: from the main account, over SSH or SFTP on port 23, can we read or download individual files and directories out of a specific snapshot — for example a single directory under one sub-account's home — without performing a snapshot restore of the whole Storage Box?

To be clear, this question is about a Storage Box, not about Storage Share. We are aware the Storage Share FAQ says only full-snapshot restores are supported; we are asking whether that also applies to Storage Box, because the Storage Box snapshot documentation appears to say the opposite.

If yes, please tell us the exact path we should use and how the snapshot directory is named.

If no, please confirm that the only way to get data out of a snapshot is the full "restore snapshot" action on the whole Storage Box.

Thank you.

How to read the answer.

  • "Yes, from the main account" → per-file recovery exists, but it is an operator act in a browser or over the main account's own SSH, and it can never be something the product does for the customer. R-433 closes at that. R-95 stays where it is.
  • "No, only a full restore" → the snapshots do not bound a single customer's exposure at all, because using them costs every other customer on the box their newer snapshots. R-95 becomes urgent and the transport change stops being optional.

Question 2 — is --append-only enforced on the rclone serve restic endpoint?

Why it matters, in one line: if it is enforced server-side, a compromised box cannot delete its own backups, with no new machine and no data migration. This is the question that could make R-95 disappear.

Subject: Storage Box u629488 — rclone serve restic endpoint and --append-only

Hello,

Your Storage Box documentation states: "Restic is natively supported with the SFTP backend. As another option, we support the restic backend, which is provided by Rclone over SSH." The restricted SSH shell on Storage Box u629488 (port 23) also lists rclone serve restic --stdio among the available server-side backends.

Our question is about how that command is run on your side: is --append-only enforced by you, or is the command line taken from what the client sends?

In other words, if a client connects and asks for rclone serve restic --stdio without --append-only, does it get a server that permits deletions?

If the flag can be enforced, is there any way for us to request that for this account or for individual sub-accounts?

Thank you.

How to read the answer.

  • "Enforced server-side" or "can be enabled per account" → this is the cheap prevention the 2026-09-01 spike priced at a new always-on service plus either a mount in the hot path or migrating every customer's history. It needs none of that — the server already runs at the provider, and restic 0.14.0 already speaks the rclone: backend (measured, with a control: banana: → invalid backend, rclone: → the helper was executed). The remaining work is putting rclone in the controller image and switching the repository URL. R-95's root cause goes away.
  • "The client supplies the command line" → the lead is worth nothing and should be recorded as dead, not left looking promising. Prevention then still needs a machine in front of the store, and the decision reverts to the spike's option 3 at its original price.

Where these came from

  • R-433 — no snapshot is reachable from a sub-account by any name. 777,600 exact names in the vendor's YYYY-MM-DDTHH-MM-SS format over nine days, zero hits, with a passing control; /home and /.zfs are different filesystems and /home/.zfs does not exist. Question 1 exists because that measurement can only speak for a sub-account.
  • R-436 — the rclone serve restic --stdio backend and restic's rclone: support, both measured, and since confirmed as officially supported by the vendor's own Storage Box access page ("we support the restic backend, which is provided by Rclone over SSH"). That page says nothing at all about append-only, in either its Rclone or its Restic section — so Question 2 is genuinely unanswered by the documentation and is not a question the docs could have saved us.
  • The two-product trap above, caught 2026-09-01. The Storage Box command table on that same access page also matches, item for item, the help output measured live on our own sub-account — independent corroboration that we were reading the right product's surface.
  • Evidence for both: documentation/audits/evidence-drill-r95-recovery-2026-09-01/.