Ir al contenido

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.

  • 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.