Sobre o projeto

O E2B Runtime é o backend completo que alimenta o E2B Cloud: a API do plano de controle, o orquestrador por nó que controla o Firecracker, o agente que roda dentro de cada VM, o roteador de borda para tráfego de sandbox e o construtor de templates. Ele concede a cada sessão de agente sua própria máquina Linux isolada que inicializa a partir de um snapshot, executa o que o agente solicitar e pode ser pausada e retomada como se nada tivesse acontecido. É escrito em Go, licenciado sob Apache-2.0 e criado pela E2B. O mesmo código atende a nuvem pública, implantações empresariais dedicadas e pacotes de máquina única que você pode executar em seu próprio hardware. Duas ideias orientam o design: - Uma sandbox é um snapshot retomado. Templates são VMs pré-inicializadas armazenadas em armazenamento de objetos. Criar uma sandbox significa restaurar uma em vez de inicializar um kernel do zero. As páginas de memória são servidas de forma lazy via userfaultfd, e o sistema de arquivos raiz usa uma sobreposição copy-on-write sobre uma imagem somente leitura. - Plano de controle e plano de dados nunca se misturam. A API decide onde uma sandbox é executada, enquanto o orquestrador em cada nó controla como ela é executada usando Firecracker, namespaces de rede e cgroups. Os recursos incluem: - Sandboxes com isolamento de hardware usando microVMs Firecracker com namespaces de rede individuais e firewalls. - Capacidades de pausa e retomada com auto-pausa por ociosidade e despertar transparente no tráfego de entrada. - Fork de sandboxes em execução para criar novas instâncias instantaneamente a partir de checkpoints. - Construções de templates em camadas a partir de imagens Docker com gravação otimizada de page-touch. - Agente dentro da VM envd fornecendo APIs de processo, PTY, sistema de arquivos e encaminhamento de portas. - Integração com OpenTelemetry com métricas exportadas para o ClickHouse.