Snapshots y restore
Un snapshot es una copia Native verificada del directorio de datos de un proyecto dormido, producida por la propia herramienta de Native:
hyphae backup create --data-dir <directorio del proyecto> --out <directorio del snapshot>Native copia el estado con checkpoint, escribe NATIVE_BACKUP.json y verifica de forma independiente el resultado. El Cloud guarda los identificadores del motor — visible_csn, root_digest, directory_lineage, checkpoint_digest — y añade un id (snap_…), una etiqueta, fechas y rutas. No es una copia del sistema de archivos ni un hash del Cloud: el Cloud nunca ejecuta cp, tar ni un digest propio sobre archivos del motor.
Restore (POST /v0/projects/{id}/restore con un snapshot_id) ejecuta hyphae restore en un directorio nuevo — Native verifica la copia, pasa su doctor y activa — y el Cloud intercambia ese directorio. Restore reemplaza el directorio de datos del proyecto: no es una rama, un fork ni una vista a un instante. El directorio anterior se aparta y se conserva. El proyecto queda dormido; despiértalo para servir.
Ambas operaciones requieren el proyecto dormido (409 tenant_running si no) porque las herramientas de Native toman el bloqueo del directorio.
Qué no contiene un snapshot
Sección titulada «Qué no contiene un snapshot»- Objetos de storage (bytes ni catálogo): el almacenamiento de objetos es metadato del Cloud más un backend de blobs, no parte del directorio Native.
- Fuentes de funciones ni secretos: viven en el almacén de control.
- Claves, etiquetas, ajustes del proyecto.
Un snapshot es el estado del motor en el instante en que backup create se ejecutó. La retención es manual: los snapshots son directorios bajo la raíz de snapshots del daemon hasta que un operador los elimina.