Vai al contenuto

Rudel

Ambienti overlay WordPress selezionati per richiesta.

Terminale
composer require rudel/rudel

Ultima versione v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+

Nella pratica

Create una sandbox dal sito host, quindi indirizzate WP-CLI o una richiesta HTTP verso di essa.

Create una sandbox e instradatevi al suo interno

wp rudel create clona le tabelle dell’host con un nuovo prefisso, copia il tema nella directory della sandbox e stampa l’ID della sandbox.

Passate l’ID in RUDEL_ENVIRONMENT per WP-CLI, oppure nell’header X-Rudel-Environment o nel cookie rudel_environment per HTTP. Il comando PHP API crea la stessa sandbox con i metadati del ciclo di vita.

Terminale
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/

Sandbox

Ambienti overlay temporanei per sviluppo, test e agenti AI.

Selezione per richiesta

Instradate una richiesta in una sandbox tramite l’header X-Rudel-Environment, il cookie rudel_environment o RUDEL_ENVIRONMENT in WP-CLI. La selezione avviene solo tramite l’ID della sandbox, senza autenticazione.

Runtime overlay

L’attivazione aggiunge una riga di bootstrap a wp-config.php. Ogni sandbox riceve quindi tabelle clonate con un proprio prefisso e una copia del tema attivo; il nucleo di WordPress, i file dei plugin e i caricamenti restano condivisi.

Worktree Git

Flussi integrati di clonazione, push e gestione delle worktree, nativi di PHP-Git, senza necessità del binario git sull’host.

Snapshot

Punti di ripristino con nome che copiano le tabelle e i file dei temi gestiti di una sandbox. Createli e ripristinateli da WP-CLI o PHP.

Isolamento delle richieste

Prefissi delle tabelle, directory radice dei temi, directory temporanea, salt della cache degli oggetti e blocco delle email distinti per richiesta.

WP-CLI & PHP API

I comandi wp rudel e i metodi statici di Rudel\Rudel consentono di creare, elencare, aggiornare, acquisire snapshot, ripristinare e distruggere sandbox.

Pronto per gli agenti

Fornisce agli agenti di programmazione una copia temporanea di WordPress, con WP-CLI limitato da RUDEL_ENVIRONMENT e la posta in uscita bloccata.

Perché Rudel

Una sola installazione, tante sandbox

Rudel viene eseguito all’interno di una normale installazione WordPress, senza multisito né una seconda installazione WordPress. Il sito host continua a fornire i propri dati a ogni richiesta che non specifichi una sandbox.

Copia le tabelle e un tema

Una sandbox riceve una copia delle tabelle dell’host, utenti inclusi, con un proprio prefisso e una copia del tema attivo, più quello genitore se si tratta di un tema child. WordPress core, i file dei plugin e i caricamenti restano sull’host.

Sandbox con scadenza

Assegnate a una sandbox un proprietario, delle etichette, uno scopo e un TTL in giorni. Un job orario WP-Cron rimuove le sandbox scadute e ignora quelle contrassegnate come protette.

Sicure da visualizzare in anteprima

Le richieste della sandbox bloccano le email in uscita e registrano ogni messaggio bloccato. A meno che wp-config.php non ne imposti uno proprio, il salt della chiave della cache degli oggetti viene derivato dall’ID della sandbox, così le cache persistenti mantengono separate le chiavi dell’host e della sandbox.

A confronto con

Rudel funziona all’interno del sito che già gestite. Questi strumenti rispondono a esigenze correlate.

Rudel a confronto con altri strumenti
WordPress Multisite Ideale perEsegue una rete di siti virtuali su un unico set di file core, con plugin e temi condivisi e tabelle del database e directory di caricamento separate per ogni sito. Differenze rispetto a RudelRudel non richiede il multisito. Una sandbox è una copia delle tabelle e del tema attivo del sito esistente, selezionata per ogni richiesta tramite un header, un cookie o una variabile d’ambiente WP-CLI.
wp-env Ideale perConfigura un sito locale WordPress con Docker per sviluppare e testare plugin e temi, senza configurazioni aggiuntive. Differenze rispetto a RudelRudel non richiede una seconda installazione di WordPress. Crea sandbox dai contenuti del sito che già gestite e le relative tabelle risiedono nello stesso database MySQL dell’host. Non assegna a una sandbox un runtime o un server database PHP propri.
WordPress Playground Ideale perEsegue WordPress lato client in WebAssembly, senza backend, isolato nel browser e senza effetti persistenti al di fuori di esso. Differenze rispetto a RudelRudel viene eseguito sul server accanto a un sito reale e al suo database MySQL. Una sandbox parte dai contenuti attuali di quel sito ed è accessibile da WP-CLI e da qualsiasi client HTTP.

Domande e risposte

Risposte brevi dalla documentazione di Rudel.

Installate il plugin, create una sandbox dal vostro sito e inviate la vostra prima richiesta al suo interno seguendo la guida introduttiva.