Ga naar de inhoud

Inleiding

Rudel maakt wegwerpbare WordPress-sandboxes binnen één hostinstallatie van WordPress.

Elke sandbox wordt per verzoek geselecteerd. Het geselecteerde verzoek gebruikt de gekloonde WordPress-tabellen van de sandbox en een kopie van het actieve thema, terwijl de core, plug-inbestanden en uploads van WordPress gedeeld blijven met de host.

Wat een sandbox bevat

  • een kopie van de tabellen van de host, inclusief gebruikers en gebruikersmetadata, met een gegenereerde tabelprefix
  • een kopie van één thema (plus het bovenliggende thema bij een child theme) in de sandboxmap
  • levenscyclusmetadata in de host-WordPress-tabellen MySQL

Gebruikers worden gekopieerd wanneer de sandbox wordt aangemaakt. Daarna worden gebruikers en wachtwoorden in de sandbox en op de host onafhankelijk van elkaar gewijzigd.

Wat gedeeld blijft

  • corebestanden van WordPress
  • plug-inbestanden
  • geüploade mediabestanden

Die grens is bewust gekozen. Rudel richt zich op snelle sandboxes die per verzoek voor agents, QA, experimenten en risicovolle wijzigingen worden geselecteerd, zonder multisite of een tweede WordPress-installatie nodig te maken.

Hoe een verzoek een sandbox selecteert

Een HTTP-verzoek selecteert een sandbox met de header X-Rudel-Environment of de cookie rudel_environment; een WP-CLI-opdracht gebruikt de omgevingsvariabele RUDEL_ENVIRONMENT. Rudel verifieert de selector niet: elke client die een geldige sandbox-ID verstuurt, krijgt toegang tot die sandbox. Zie Isolatie.

Bron van waarheid

De runtime-records van Rudel staan in de host-WordPress-database:

  • wp_rudel_environments
  • wp_rudel_worktrees

Instellingen staan in de optie rudel_config. Er is geen runtime-JSON-configuratie en geen opslag voor SQLite-metadata.

Begin hier