Backups
Three kinds of state live on a host, and three tools cover them:
| State | Tool | Notes |
|---|---|---|
| Project engines (Native directories) | POST /v0/projects/{id}/snapshots — hyphae backup create |
Per project, project asleep. Native-verified. → Snapshots |
| Control plane (accounts, projects, keys, catalog, functions, encrypted secrets) | cloudd control-backup --out DIR / control-restore --from DIR |
Daemon may run for backup; must be stopped for restore. Cloud metadata with SHA-256 manifest, not a Native proof. |
| Object bytes | the blob backend’s own tooling (copy the directory; S3 versioning/replication) | Not in any snapshot. |
scripts/backup-all.sh ties them into one kit for a stopped host: control backup, one Native backup per project with a data directory, a copy of a filesystem blob root, and KIT.json saying what was and was not captured. It is a bundle taken in sequence — not point-in-time across projects and not a Native snapshot of the host.
Restore order, documented rather than automated: control first (daemon stopped), then each hyphae restore into the project’s directory, then blob bytes, then start the daemon. Full detail: One host → Backing up the control plane.