Pular para o conteúdo
início / platform / control-plane
Hoody Platform

A camada de ciclo de vida. Uma API.

api.hoody.com é onde os contêineres ganham existência. Criar, pausar, tirar snapshot, copiar entre servidores, isolar por realm, cobrar — tudo via HTTP.

100+ endpoints. Specs OpenAPI por serviço. Tokens com escopo de realm. Pausar, snapshot, copiar, sincronizar — tudo na mesma superfície.

tokens hdy_OpenAPI por serviçoIsolamento de realmCarteira unidirecional
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…", …] }

início / platform / control-plane / lifecycle
Ciclo de vida do contêiner

Seis estados. Transições explícitas.

Os contêineres se movem por uma máquina de estados definida. Cada transição tem um endpoint e é um evento registrado no histórico do contêiner.

creating

Provisionando sistema de arquivos e recursos

running

Ativo e servindo suas URLs

stopped

Desligado · armazenamento cobrado

paused

RAM congelada · retomada instantânea

falhou

Erro durante uma operação

copying

Duplicação assíncrona em andamento

Endpoints de transição

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

início / platform / control-plane / time-travel
Pausar · snapshot · restaurar

Pause o trabalho em execução. Faça snapshot de máquinas inteiras.

Congele a RAM com pause/resume. Capture sistema de arquivos, processos e memória com snapshots com estado. Restaure um contêiner para um momento anterior sem reinicializar nada.

Sono do contêiner, não desligamento

  • Estado da RAM congelado no lugar; arquivos abertos e pools de conexão de BD mantidos
  • Pause um LLM no meio da inferência — retome sem re-aquecer o contexto
  • Pause uma tarefa de automação durante a noite — retome de manhã
  • POST /containers/ID/pause · POST /containers/ID/resume

Git para computadores

  • Criar enquanto em execução = com estado (sistema de arquivos + processos + memória)
  • Criar enquanto parado = sem estado (apenas sistema de arquivos)
  • Alias do snapshot com até 100 caracteres, auto-expiração opcional em dias
  • POST /containers/ID/snapshots · PATCH /containers/ID/snapshots/NAME para restaurar
início / platform / control-plane / copy-sync
Copiar · sincronizar

Crie um branch de contêiner. Mantenha-o sincronizado.

Copie o estado completo de um contêiner — incluindo histórico de snapshots — para outro servidor ou região. Sync propaga mudanças incrementais da origem para a cópia.

Contêiner de origem

container-67e89abc…

server: node-us-east-1

POST /containers/ID/copy
Contêiner de destino

container-abc1234d…

server: node-eu-west-1

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

target_project_id para cópia entre projetos

source_snapshot para copiar um estado específico

Tempo típico: 3–5 min no mesmo servidor (50GB), 10–15 min entre servidores (50GB)

Sync sobrescreve alterações locais na cópia. Não é bidirecional — mudanças da origem fluem para a cópia, nunca o contrário.

início / platform / control-plane / governance
Isolamento · cobrança

Isolamento e cobrança são primitivos de API

Realms definem o escopo do próprio host da API. A separação da carteira impede que um comprometimento esvazie seu orçamento de infraestrutura.

Multi-tenancy no nível da API

https://REALM_A.api.hoody.com
https://REALM_B.api.hoody.com
  • Agentes de IA no realm A literalmente não conseguem ver recursos do realm B
  • Tokens têm escopo para realms específicos via realm_ids
  • O isolamento de realm fica acima do RBAC de projeto — ele muda o host da API

Saldos geral e de IA

Saldo geral
Financia hospedagem de infra
transferência + taxa
Saldo de IA
Financia uso de LLM
  • Carga de trabalho de IA comprometida não pode drenar o orçamento de infra
  • Stripe (compatível com PCI), 100+ criptos (NOWPayments), transferência bancária
  • Faturas PDF geradas automaticamente · histórico de transações paginado
início / platform / control-plane / endpoints
Superfície completa da API

A superfície completa da API

Agrupada por recurso. Cada endpoint tem uma spec OpenAPI.

Auth & Tokens

25+ endpoints

OAuth, cadastro, login JWT/refresh/logout, 2FA com códigos de backup, tokens hdy_ de longa duração com whitelist de IP por CIDR e escopo de realm

Contêineres & Ciclo de vida

20+ endpoints

CRUD, stats, start/stop/pause/resume/restart, regras de firewall, network start/stop

Snapshots, Cópia & Sync

10+ endpoints

CRUD de snapshots com alias e expiração, cópia assíncrona entre servidores, sync incremental unidirecional

Carteira & Cobrança

20+ endpoints

Saldos, transações, métodos de pagamento (Stripe + cripto + banco), pagamentos, faturas com PDF, transferências geral→IA

Realms & Projetos

5+ endpoints

Listagem de realms com stats de uso opcionais, CRUD de projetos, listagem de contêineres por projeto

Aliases de proxy · permissões · logs

31 endpoints

Servido pelo Control Plane mas documentado em /platform/proxy — aliases (6), permissões (17), logs (8)

Cada serviço publica sua própria spec OpenAPI (p.ex. Hoody SQLite, Hoody Terminal, Hoody Cron) — gere clientes tipados em qualquer linguagem.

início / platform / control-plane / vs
Control Plane vs orquestração tradicional

O que a orquestração tradicional pede que você monte

Terraform, kubectl, AWS SDK e APIs do Docker daemon cobrem partes do que o Control Plane cobre em uma única superfície. Aqui está uma divisão honesta.

CapacidadeControl PlaneStack tradicional
CRUD de contêineresPOST /projects/ID/containersTerraform provider + module + apply
Pausar estado da RAMPOST /containers/ID/pause · /resumeSem análogo direto (VMware suspend)
Snapshot em execução + RAMPOST /containers/ID/snapshotsScripts customizados + snapshots de VM
Cópia entre servidoresPOST /containers/ID/copy + /syncrsync + bootstrap manual + re-registro
Isolamento de API multi-tenantrealm_ids[] · REALM.api.hoody.comCamadas de RBAC + disciplina de namespace
Cobrança unificada + créditos de LLMgeneral → AI transfer (one-way)Stripe + fatura separada do provedor de LLM
Respostas de API assinadasX-Hoody-Signature (ED25519)Apenas TLS (conteúdo não assinado)
Cliente tipado a partir da specGET /api/v1/openapi.jsonEscreva seu próprio SDK

Quando você precisar do modelo plan/apply do Terraform, do scheduling do kubectl ou dos serviços gerenciados da AWS, use-os. O Control Plane ganha seu espaço quando contêineres são o primitivo e você quer o ciclo de vida completo — incluindo pause e snapshot — em uma API.

início / platform / control-plane / começar
Começar

Seu primeiro contêiner leva um POST.

Obtenha um token de API, escolha uma imagem e seu contêiner terá todas as URLs de serviço Kit antes do HTTP 201 chegar.

Referência da API

Veja também — /platform/proxy para como essas URLs roteiam e autenticam.