Cloud / Cómo funciona

Cómo funciona Hyphae Cloud

El Cloud no añade nada al motor. Arranca un proceso Hyphae Native por proyecto, gobierna el ciclo de vida de ese proceso, autentica el tráfico que le llega, registra cada escritura del plano de control, y ahí se detiene. Esta página recorre cada parte en el orden en que te la encuentras.

  1. Petición pública
  2. TLS
  3. Proxy del Cloud
  4. Hyphae Native
  5. Su directorio de datos

Un motor por proyecto

Un proyecto
hyphae serveSu directorio de datos
Hyphae Native 3.0.0

Crear un proyecto reserva un puerto de loopback y un directorio de datos. Despertarlo ejecuta hyphae serve en ese puerto con ese directorio — y nada más. No hay motor compartido, ni columna de inquilino, ni identificador tuyo dentro del motor o de su registro de escritura anticipada.

El orquestador rechaza cualquier binario hyphae cuyo version --json no informe la versión de motor 3.0.0. Lo que el motor puede hacer es lo que el motor documenta; el Cloud nunca añade gramática SQL, estructuras, funciones de búsqueda ni garantías de aislamiento.

Saber más

Dos planos, dos credenciales

Plano del propietarioSesión24 h
Plano de datosClave de proyectohyp1_…

El plano del propietario — cuentas, proyectos, claves, despertar, dormir, snapshots, despliegue de funciones — usa un token de sesión obtenido al registrarse o entrar. Las sesiones duran 24 horas y viven en el cliente que las pidió.

El plano de datos — las rutas /v2 del motor, objetos de storage, realtime, invocación de funciones — usa una clave de proyecto con la forma hyp1_<id>_<secreto>. La clave se muestra una vez; el Cloud guarda un hash. El proxy la verifica en cada petición, la retira y reenvía la petición al motor sin cambios. Una clave revocada falla en la siguiente petición en cualquier conexión, y sus streams en vivo terminan.

Saber más

Despertar, dormir, head

Despertarhyphae serve
DormirDirectorio conservado

Despertar arranca el motor e inicializa el directorio la primera vez; dormir lo termina con orden y conserva el directorio. Nada corre para un proyecto dormido y nada se pierde por dormirlo.

head es una sonda, no un hash. Para un proyecto en marcha devuelve lo que el motor informa de sí mismo — campos de versión, cabeceras X-Hyphae, el sobre de capacidades, decodificado con la disposición que implementa el SDK oficial y mostrado con los nombres de campo del motor. Para un proyecto dormido devuelve el estado del motor leído del directorio, incluidos visible_csn y root_digest.

Saber más

Snapshots y restauración

Dormidohyphae backup createCreada y verificada

Un snapshot es una copia Native verificada de un proyecto dormido: hyphae backup create la crea y la verifica de forma independiente. El Cloud guarda los identificadores del propio motor y añade un id, una etiqueta y marcas de tiempo. Nunca ejecuta cp ni tar sobre archivos del motor y nunca calcula un resumen propio.

Restaurar ejecuta hyphae restore en un directorio nuevo — el motor verifica la copia, ejecuta doctor y la activa — y el Cloud coloca ese directorio en su sitio. El directorio anterior se aparta y se conserva. Restaurar reemplaza los datos del proyecto; no es una rama, ni un fork, ni una vista a un instante, y deja el proyecto dormido.

Saber más

Storage, realtime, funciones

StorageBackend de blobsRealtimeServer-Sent EventsFuncionesJS / TS

El almacenamiento de objetos guarda los bytes en un backend de blobs — un directorio local, o S3 sobre HTTPS — y un catálogo de bucket, clave, tamaño, etag y tipo de contenido en el almacén de control. Subidas y descargas pasan por rutas del Cloud; no se emiten URL prefirmadas. Nada del storage entra en el motor de un proyecto, en su WAL ni en sus pruebas.

Realtime es una difusión efímera, en proceso, sobre Server-Sent Events: los eventos existen mientras el demonio corre, para los suscriptores conectados al publicar, más una repetición de mejor esfuerzo de los últimos 64 eventos por canal. No es un stream de Native y no es durable.

Una función edge es un archivo JS o TS, guardado con su versión y su SHA-256, ejecutado por invocación como proceso separado con límite de tiempo en el host. Los secretos los fija el propietario, se leen solo por nombre, se cifran con la clave de proceso del demonio y se inyectan al invocar. Una función es tu propio código de confianza; no se afirma ningún aislamiento.

Saber más

Recibos y límites

Cada escritura del plano de control registra proyecto, actor, acción, hora y un hash de su entrada. Los cuerpos del plano de control se limitan a 64 KiB, los del plano de datos a 8 MiB, las llamadas al motor a 30 s, el arranque del motor a 15 s. Pasarse falla con un error tipado y nada parcial se reenvía.

Los errores llevan un código de una lista fija; el Studio muestra el código tal cual y añade una explicación que enlaza a la referencia.

Saber más

Un host

El primer despliegue pone el mismo modelo de procesos en una instancia EC2: el demonio en loopback, un hyphae serve por proyecto, Caddy en HTTP plano detrás de CloudFront, que tiene el certificado y es lo único autorizado a llegar a la instancia. Los bytes de blobs van a un bucket S3 sobre HTTPS con una clave acotada; el rol de la instancia es inalcanzable desde el demonio y desde las funciones.

Es un solo host: sin multi-AZ, sin failover, sin infraestructura por proyecto. Los proyectos comparten el núcleo, el disco, la CPU y la red de ese host.

Saber más

Frontera documentada

La frontera de confianza, dicha sin rodeos

El proceso Native de un proyecto escucha en loopback sin autenticación. El proxy del Cloud es, por tanto, la única autenticación del plano de datos, y solo vale para el tráfico que llega a través de él.

Cualquier proceso del mismo host — otro contenedor que comparta el espacio de red, una shell en la máquina, un sidecar comprometido — puede llegar al puerto de loopback de un proyecto directamente y saltarse el Cloud por completo.

Es una propiedad aceptada y documentada del despliegue en un host, no un secreto ni una afirmación de aislamiento; termina cuando los proyectos se inicialicen con claves Native y el proxy presente una credencial por proyecto.

La frontera de confianza en la documentación

Todo lo anterior, con las rutas exactas, los códigos de error y los límites, está en la documentación.