Перейти к содержимому

Введение

Rudel создает временные песочницы WordPress внутри одной установки хоста WordPress.

Песочница выбирается на уровне каждого запроса. Такой запрос использует клонированные таблицы WordPress и копию активной темы выбранной песочницы, а ядро WordPress, файлы плагинов и загруженные файлы остаются общими с хостом.

Что получает песочница

  • копию таблиц хоста, включая пользователей и метаданные пользователей, с созданным префиксом таблиц
  • копию одной темы (а для дочерней темы — также родительской темы) в каталоге песочницы
  • метаданные жизненного цикла в таблицах хоста WordPress MySQL

Пользователи копируются при создании песочницы. После этого пользователи и пароли в песочнице и на хосте изменяются независимо.

Что остается общим

  • файлы ядра WordPress
  • файлы плагинов
  • загруженные медиафайлы

Эта граница выбрана намеренно. Rudel создает быстрые песочницы для агентов, QA, экспериментов и рискованных изменений, выбираемые для каждого запроса, без необходимости использовать мультисайт или устанавливать второй экземпляр WordPress.

Как запрос выбирает песочницу

Запрос HTTP выбирает песочницу по заголовку X-Rudel-Environment или файлу cookie rudel_environment; команда WP-CLI использует переменную среды RUDEL_ENVIRONMENT. Rudel не проверяет подлинность выбранной песочницы: любой клиент, указавший действительный идентификатор, получает доступ к ней. См. раздел Изоляция.

Источник истины

Записи среды выполнения Rudel хранятся в базе данных хоста WordPress:

  • wp_rudel_environments
  • wp_rudel_worktrees

Настройки хранятся в параметре rudel_config. Конфигурации JSON среды выполнения и отдельного хранилища метаданных SQLite нет.

Начните отсюда