Ir al contenido

Un Native por proyecto

Un proyecto es un motor Hyphae Native (hyphae serve, fijado en la versión 3.0.0) escuchando en un puerto de loopback del host del Cloud, con su propio directorio de datos. No hay un núcleo de base de datos compartido ni identificadores de tenant dentro del motor o su registro de escritura anticipada (WAL): la frontera entre dos proyectos es la frontera entre dos procesos y dos directorios.

Lo que el Cloud añade delante de ese proceso:

  • Autenticación y enrutado. Las peticiones /v2/* con una clave de proyecto viva se reenvían tal cual al motor de ese proyecto; la clave nunca llega al motor. Método, ruta, query, cabeceras (menos Authorization) y cuerpo pasan sin cambios, y el estado, cabeceras y cuerpo del motor vuelven sin cambios.
  • Límites. Cuerpos del plano de control acotados a 64 KiB, cuerpos del data plane a 8 MiB, llamadas al motor a 30 s, arranque del motor a 15 s. Pasarse falla con un error tipado; nada parcial se reenvía.
  • Ciclo de vida. Despertar arranca el proceso (inicializando el directorio la primera vez); dormir lo termina con gracia y conserva el directorio. → Ciclo de vida
  • Recibos. Cada escritura del plano de control registra proyecto, actor, acción, hora y un hash de su entrada.

Lo que el Cloud no hace: no guarda datos de proyecto, no calcula digests de ellos y no añade gramática SQL, estructuras ni garantías de aislamiento sobre Native. /v2/sql solo habla el sobre binario de peticiones de Native; por eso ni el Studio ni la CLI ofrecen un editor SQL.

El daemon rechaza un binario hyphae cuyo version --json no reporte engine_version 3.0.0. head muestra exactamente esos campos.

Todos los proyectos de un despliegue corren hoy en un host. Comparten su kernel, CPU, disco y red; el Cloud no afirma más aislamiento que procesos y directorios separados, y el puerto del motor de un proyecto es alcanzable por cualquier proceso de ese host. Lee la frontera de confianza antes de tratar dos proyectos como aislados entre sí.