Pular para o conteúdo

Rudel

Ambientes de sobreposição WordPress selecionados por solicitação para sandboxes.

Terminal
composer require rudel/rudel

Versão mais recente v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+

Na prática

Crie um sandbox a partir do site host e direcione WP-CLI ou uma solicitação HTTP para ele.

Crie um sandbox e direcione solicitações para ele

wp rudel create clona as tabelas do host sob um novo prefixo, copia o tema para o diretório do sandbox e exibe o ID do sandbox.

Passe esse ID em RUDEL_ENVIRONMENT para WP-CLI ou no cabeçalho X-Rudel-Environment ou cookie rudel_environment para HTTP. O PHP API cria o mesmo sandbox com metadados do ciclo de vida.

Terminal
wp rudel create --name=alpha --theme=twentytwentyfour
RUDEL_ENVIRONMENT=alpha-1234 wp option get siteurl
curl -H 'X-Rudel-Environment: alpha-1234' http://localhost:8000/

Ambientes isolados

Ambientes de sobreposição descartáveis para desenvolvimento, testes e agentes de IA.

Seleção por solicitação

Direcione uma solicitação para um sandbox com um cabeçalho X-Rudel-Environment, um cookie rudel_environment ou RUDEL_ENVIRONMENT em WP-CLI. A seleção usa apenas o ID do sandbox, sem autenticação.

Execução em sobreposição

A ativação adiciona uma linha de bootstrap a wp-config.php. Cada sandbox recebe então tabelas clonadas sob seu próprio prefixo e uma cópia do tema ativo; o núcleo, os arquivos de plugins e os uploads de WordPress permanecem compartilhados.

Worktrees de Git

Fluxos integrados de clone, push e worktree nativos de PHP Git, sem exigir o binário git do host.

Snapshots

Pontos de recuperação nomeados que copiam as tabelas e os arquivos de tema gerenciados de um sandbox. Crie e restaure-os com WP-CLI ou PHP.

Isolamento por solicitação

Prefixos de tabela, raízes de temas, diretório temporário, sal da chave do cache de objetos e bloqueio de e-mails, todos por solicitação.

WP-CLI & PHP API

Os comandos wp rudel e os métodos estáticos Rudel\Rudel criam, listam, atualizam, salvam snapshots, restauram e destroem sandboxes.

Pronto para agentes

Oferece aos agentes de programação uma cópia descartável de WordPress, com WP-CLI limitado por RUDEL_ENVIRONMENT e e-mails enviados bloqueados.

Por que Rudel

Uma instalação, muitos sandboxes

Rudel é executado em uma instalação normal de WordPress, sem multisite nem uma segunda instalação de WordPress. O site host continua servindo seus próprios dados a todas as solicitações que não indicam um sandbox.

Copia as tabelas e um tema

Um sandbox recebe uma cópia das tabelas do host, incluindo os usuários, com um prefixo próprio e uma cópia do tema ativo, além do tema pai, se for um tema filho. WordPress core, os arquivos de plugins e os uploads permanecem no host.

Sandboxes com prazo de validade

Defina um proprietário, rótulos, uma finalidade e um TTL em dias para o sandbox. Um trabalho WP-Cron por hora remove os sandboxes expirados e ignora aqueles marcados como protegidos.

Seguro para visualizar

As solicitações ao sandbox bloqueiam e-mails enviados e registram cada mensagem bloqueada. A menos que wp-config.php defina o seu próprio, o salt da chave do cache de objetos é derivado do ID do sandbox, mantendo separadas as chaves dos caches persistentes do host e do sandbox.

Comparação com

Rudel funciona dentro do site que você já administra. Estas ferramentas atendem a necessidades relacionadas.

Rudel em comparação com outras ferramentas
WordPress Multisite Ideal paraExecuta uma rede de sites virtuais com um único conjunto de arquivos core, plugins e temas compartilhados, e tabelas de banco de dados e diretórios de uploads separados para cada site. Diferenças em relação a RudelRudel não precisa de multisite. Um sandbox é uma cópia das tabelas e do tema ativo do site existente, selecionada por solicitação por meio de um cabeçalho, um cookie ou uma variável de ambiente WP-CLI.
wp-env Ideal paraConfigura um site local de WordPress com Docker para desenvolver e testar plugins e temas, sem configuração adicional. Diferenças em relação a RudelRudel não precisa de uma segunda instalação de WordPress. Ele cria sandboxes a partir do conteúdo do site que você já administra, e as tabelas deles ficam no mesmo banco de dados MySQL que o host. O sandbox não recebe seu próprio runtime PHP nem servidor de banco de dados.
WordPress Playground Ideal paraExecuta WordPress no lado do cliente em WebAssembly, sem backend, isolado no navegador e sem efeitos persistentes fora dele. Diferenças em relação a RudelRudel é executado no servidor, junto de um site real e do banco de dados MySQL dele. Um sandbox começa com o conteúdo atual desse site e pode ser acessado por WP-CLI e por qualquer cliente HTTP.

Perguntas e respostas

Respostas curtas da documentação do Rudel.

Instale o plugin, crie um sandbox a partir do seu próprio site e envie sua primeira solicitação para ele com o guia de introdução.