Ir al contenido
inicio / platform / control-plane
Hoody Platform

La capa de ciclo de vida. Una API.

api.hoody.com es donde los contenedores cobran vida. Crea, pausa, haz snapshot, copia entre servidores, aísla en realm, factura: todo HTTP.

100+ endpoints. Specs OpenAPI por servicio. Tokens con ámbito de realm. Pausa, snapshot, copia, sincroniza — todo en la misma superficie.

tokens hdy_OpenAPI por servicioAislamiento de realmMonedero unidireccional
POST /api/v1/projects/ID/containers

# create a container

$ curl -X POST https://api.hoody.com/api/v1/projects/ID/containers \

-H "Authorization: Bearer hdy_..." \

-H "Content-Type: application/json" \

-d '{"name":"dev-box","container_image":"debian/13","cpu":2,"memory":4}'

 

<< 201 Created

{ "id": "67e89abc…", "status": "creating", "urls": ["terminal-1…", "files…", "display-1…", …] }

inicio / platform / control-plane / lifecycle
Ciclo de vida del contenedor

Seis estados. Transiciones explícitas.

Los contenedores se mueven a través de una máquina de estados definida. Cada transición tiene un endpoint y cada transición es un evento registrado en el historial del contenedor.

creando

Aprovisionando sistema de archivos y recursos

en ejecución

Activo y sirviendo sus URLs

detenido

Apagado · almacenamiento facturado

pausado

RAM congelada · reanudación instantánea

fallido

Error durante una operación

copiando

Duplicación asíncrona en curso

Endpoints de transición

POST/containers/ID/start

POST/containers/ID/stop

POST/containers/ID/force-stop

POST/containers/ID/restart

POST/containers/ID/pause

POST/containers/ID/resume

POST/containers/ID/network/start

POST/containers/ID/network/stop

inicio / platform / control-plane / time-travel
Pausar · snapshot · restaurar

Pausa el trabajo en curso. Snapshot de máquinas completas.

Congela la RAM con pause/resume. Captura sistema de archivos, procesos y memoria con snapshots con estado. Restaura un contenedor a un momento anterior sin reinicializar nada.

Suspensión del contenedor, no apagado

  • Estado de RAM congelado en su lugar; archivos abiertos y pools de conexión DB mantenidos
  • Pausa un LLM a media inferencia: reanuda sin recondicionar el contexto
  • Pausa un trabajo de automatización por la noche: reanuda por la mañana
  • POST /containers/ID/pause · POST /containers/ID/resume

Git para ordenadores

  • Crear en ejecución = con estado (sistema de archivos + procesos + memoria)
  • Crear detenido = sin estado (solo sistema de archivos)
  • Alias de snapshot hasta 100 caracteres, expiración automática opcional en días
  • POST /containers/ID/snapshots · PATCH /containers/ID/snapshots/NAME para restaurar
inicio / platform / control-plane / copy-sync
Copiar · sincronizar

Crea una rama de un contenedor. Mantenla sincronizada.

Copia el estado completo de un contenedor —incluyendo el historial de snapshots— a otro servidor o región. La sincronización propaga cambios incrementales del origen a la copia.

Contenedor origen

container-67e89abc…

server: node-us-east-1

POST /containers/ID/copy
Contenedor destino

container-abc1234d…

server: node-eu-west-1

POST /containers/ID/sync (unidireccional, incremental)

target_project_id para copia entre proyectos

source_snapshot para copiar un estado específico

Tiempo típico: 3-5 min mismo servidor (50GB), 10-15 min entre servidores (50GB)

La sincronización sobreescribe los cambios locales de la copia. No es bidireccional: los cambios del origen fluyen a la copia, nunca al revés.

inicio / platform / control-plane / governance
Aislamiento · facturación

El aislamiento y la facturación son primitivas de la API

Los realms acotan el propio host de la API. La separación del monedero evita que una vulnerabilidad drene tu presupuesto de infraestructura.

Multi-tenancy a nivel de API

https://REALM_A.api.hoody.com
https://REALM_B.api.hoody.com
  • Los agentes de IA en el realm A literalmente no pueden ver los recursos del realm B
  • Los tokens tienen ámbito en realms específicos vía realm_ids
  • El aislamiento de realm está por encima del RBAC de proyecto: cambia el host de la API

Saldos general e IA

Saldo general
Financia el hosting de infraestructura
transferencia + comisión
Saldo IA
Financia el uso de LLM
  • Una carga de trabajo IA comprometida no puede vaciar el presupuesto de infraestructura
  • Stripe (cumplimiento PCI), más de 100 criptomonedas (NOWPayments), transferencia bancaria
  • Facturas PDF generadas automáticamente · historial de transacciones paginado
inicio / platform / control-plane / endpoints
Superficie completa de la API

La superficie completa de la API

Agrupado por recurso. Cada endpoint tiene una spec OpenAPI.

Auth y tokens

25+ endpoints

OAuth, registro, login/refresh/logout JWT, 2FA con códigos de respaldo, tokens hdy_ de larga duración con lista blanca de IP CIDR y ámbito de realm

Contenedores y ciclo de vida

20+ endpoints

CRUD, estadísticas, start/stop/pause/resume/restart, reglas de firewall, start/stop de red

Snapshots, copia y sincronización

10+ endpoints

CRUD de snapshots con alias y expiración, copia asíncrona entre servidores, sincronización incremental unidireccional

Monedero y facturación

20+ endpoints

Saldos, transacciones, métodos de pago (Stripe + crypto + banco), pagos, facturas con PDF, transferencias general→IA

Realms y proyectos

5+ endpoints

Listado de realms con estadísticas de uso opcionales, CRUD de proyectos, listado de contenedores con ámbito de proyecto

Alias de proxy · permisos · logs

31 endpoints

Servidos por el Control Plane pero documentados en /platform/proxy: aliases (6), permisos (17), logs (8)

Cada servicio publica su propia especificación OpenAPI (p. ej. Hoody SQLite, Hoody Terminal, Hoody Cron) — genera clientes tipados en cualquier lenguaje.

inicio / platform / control-plane / vs
Control Plane vs orquestación tradicional

Lo que la orquestación tradicional te pide montar tú mismo

Terraform, kubectl, AWS SDK y las APIs del daemon Docker cubren cada uno parte de lo que el Control Plane cubre en una sola superficie. Aquí está la división honesta.

CapacidadControl PlaneStack tradicional
CRUD de contenedoresPOST /projects/ID/containersProveedor Terraform + módulo + apply
Pausar estado de RAMPOST /containers/ID/pause · /resumeSin análogo directo (suspensión VMware)
Snapshot en ejecución + RAMPOST /containers/ID/snapshotsScripts personalizados + snapshots de VM
Copia entre servidoresPOST /containers/ID/copy + /syncrsync + bootstrap manual + re-registro
Aislamiento de API multi-tenantrealm_ids[] · REALM.api.hoody.comCapas RBAC + disciplina de namespace
Facturación unificada + créditos LLMgeneral → AI transfer (one-way)Stripe + factura separada del proveedor LLM
Respuestas de API firmadasX-Hoody-Signature (ED25519)Solo TLS (contenido sin firmar)
Cliente tipado desde specGET /api/v1/openapi.jsonEscribe tu propio SDK

Cuando necesitas el modelo plan/apply de Terraform, la programación de kubectl o los servicios gestionados de AWS, úsalos. El Control Plane gana su lugar cuando los contenedores son el primitivo y quieres todo el ciclo de vida —incluyendo pause y snapshot— en una sola API.

inicio / platform / control-plane / start
Empezar

Tu primer contenedor toma un solo POST.

Obtén un token de API, elige una imagen y tu contenedor tendrá todas las URLs de servicio Kit antes de que llegue el HTTP 201.

Referencia de API

Ver también — /platform/proxy para saber cómo esas URLs enrutan y autentican.