mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-01 02:04:24 +00:00
A run's host sandbox is a managed directory the worker recorded, with Petri's labels, in the host registry inside the run's Petri directory. The server reached it only by designating the directory again: a handle with no record, so no labels and no ownership check, unlike Docker and Daytona where `petri.run` is checked on every attach. The server now observes the run's registry (`HostProvider:: observe_registry`, read and never written, so the worker stays its only writer), resolves the directory to its record by path (`attach_directory`), and runs the same `petri.run` ownership check as on Docker (`OwnedProvider::check`). The handle refuses every lifecycle change, so starting, stopping, and deleting stay the worker's, and a stopped sandbox's retained workspace is usable through it; the access paths therefore return a host handle as attached instead of activating it. `ProviderAccess` carries the storage root the registry is found under; a directory no registry records (a run older than this driver, a caller without a storage root, a pruned Petri directory) is designated again as before, without labels, for the read paths only. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| build.rs | ||
| Cargo.toml | ||