はじめに
Rudelは、1つのホストWordPressインストール内に使い捨てのWordPressサンドボックスを作成します。
各サンドボックスはリクエストごとに選択されます。選択されたリクエストでは、複製されたWordPressテーブルと有効なテーマのコピーが使われ、WordPressのコア、プラグインファイル、アップロードはホストと共有されます。
サンドボックスに含まれるもの
- 生成されたテーブルプレフィックスの下にある、ユーザーとユーザーメタデータを含むホストのテーブルのコピー
- サンドボックスディレクトリにある1つのテーマのコピー(子テーマの場合は親テーマも含む)
- ホストWordPressのMySQLテーブルに保存されるライフサイクルメタデータ
ユーザーはサンドボックスの作成時にコピーされます。その後、サンドボックスとホストのユーザーおよびパスワードはそれぞれ独立して変更されます。
共有されるもの
- WordPressのコアファイル
- プラグインファイル
- アップロードされたメディアファイル
この境界は意図的に設けられています。Rudelは、マルチサイトや2つ目のWordPressインストールを必要とせず、エージェント、QA、実験、リスクの高い変更作業向けに、リクエストごとに選択できる高速なサンドボックスを提供します。
リクエストによるサンドボックスの選択方法
HTTPリクエストでは、X-Rudel-Environmentヘッダーまたはrudel_environmentCookieでサンドボックスを選択します。WP-CLIコマンドではRUDEL_ENVIRONMENT環境変数を使います。Rudelは選択子を認証しません。有効なサンドボックスIDを送るクライアントは、どれもそのサンドボックスを取得できます。分離を参照してください。
信頼できる情報源
RudelのランタイムレコードはホストWordPressデータベースに保存されます。
wp_rudel_environmentswp_rudel_worktrees
設定はrudel_configオプションに保存されます。ランタイムJSON設定ファイルもSQLiteメタデータストアもありません。