Вступ
Rudel створює тимчасові пісочниці WordPress в межах однієї інсталяції хосту WordPress.
Пісочниця вибирається окремо для кожного запиту. Вибраний запит використовує клоновані таблиці WordPress пісочниці та її копію активної теми, тоді як ядро WordPress, файли плагінів і завантаження залишаються спільними з хостом.
Що отримує пісочниця
- копію таблиць хосту, зокрема користувачів і метаданих користувачів, із згенерованим префіксом таблиць
- копію однієї теми (а для дочірньої теми — також батьківської) у каталозі пісочниці
- метадані життєвого циклу в таблицях хосту WordPress MySQL
Користувачі копіюються під час створення пісочниці. Після цього користувачі та паролі в пісочниці й на хості змінюються незалежно.
Що залишається спільним
- файли ядра WordPress
- файли плагінів
- завантажені медіафайли
Ця межа є навмисною. Rudel зосереджується на швидких пісочницях, що вибираються для запиту, для агентів, контролю якості, експериментів і ризикованих змін без потреби в мультисайті чи другій інсталяції WordPress.
Як запит вибирає пісочницю
Запит HTTP вибирає пісочницю за заголовком X-Rudel-Environment або cookie rudel_environment; команда WP-CLI використовує змінну середовища RUDEL_ENVIRONMENT. Rudel не автентифікує вибір: будь-який клієнт, що передає дійсний ID пісочниці, отримує доступ до неї. Див. Ізоляція.
Джерело істини
Записи середовища виконання Rudel зберігаються в базі даних хосту WordPress:
wp_rudel_environmentswp_rudel_worktrees
Налаштування зберігаються в параметрі rudel_config. Конфігурації середовища виконання JSON та сховища метаданих SQLite немає.