Aller au contenu

Configuration

Rudel comporte deux types de configuration : les réglages stockés dans l’option rudel_config WordPress et les constantes définies dans wp-config.php.

L’option rudel_config

Les réglages se trouvent dans un tableau de wp_options, sous rudel_config. Tant que l’option n’est pas écrite, chaque clé utilise sa valeur par défaut. Les clés inconnues sont ignorées et les valeurs sont stockées sous forme d’entiers.

Clé Valeur par défaut Signification
max_sandboxes 0 Refuse de créer un bac à sable lorsque ce nombre est atteint. 0 signifie qu’il n’y a aucune limite.
max_disk_mb 0 Refuse de créer un bac à sable lorsque ses répertoires atteignent ce nombre de mégaoctets. Les tables clonées ne sont pas comptabilisées. 0 signifie qu’il n’y a aucune limite.
default_ttl_days 0 Délai d’expiration attribué aux nouveaux bacs à sable créés sans ttl_days ni expires_at. 0 signifie qu’il n’y a pas d’expiration.
max_age_days 0 Le nettoyage supprime les bacs à sable plus anciens que cette durée. 0 désactive la règle d’ancienneté.
max_idle_days 0 Le nettoyage supprime les bacs à sable sans activité enregistrée (requête ou instantané) depuis cette durée. 0 désactive la règle d’inactivité.
auto_cleanup_enabled 1 Exécute la politique de nettoyage de WP-Cron toutes les heures.
auto_cleanup_merged 0 Exécute également le nettoyage des branches fusionnées de WP-Cron.
expiring_environment_notice_days 0 Recueille à chaque exécution d’automatisation les bacs à sable expirant dans ce nombre de jours et les transmet à l’action rudel_after_automation_expiring_environments.
auto_snapshot_before_restore 1 Enregistre un instantané pre-restore-... avant chaque restauration.

wp rudel status affiche les valeurs actuelles.

Écrivez l’option avec WP-CLI. Les clés omises conservent leurs valeurs par défaut :

Shell
wp option update rudel_config '{"max_age_days":14,"max_idle_days":3,"auto_cleanup_merged":1}' --format=json

Ou depuis PHP :

PHP
$config = new Rudel\RudelConfig();
$config->set( 'max_sandboxes', 20 );
$config->save();

L’événement WP-Cron est planifié ou supprimé à la prochaine requête suivant une modification. Voir Automatisation.

Constantes

Définissez-les dans wp-config.php avant la ligne d’initialisation Rudel.

Constante Valeur par défaut Signification
RUDEL_CLI_COMMAND rudel Nom de la commande racine WP-CLI.
RUDEL_ENVIRONMENTS_DIR wp-content/rudel-environments Répertoire contenant les répertoires des bacs à sable. Les ressources du thème sont toujours servies depuis /wp-content/rudel-environments/{id}/themes ; un autre répertoire doit donc rester accessible à cet URL.
RUDEL_RUNTIME_TABLE_PREFIX rudel_ Partie des noms de tables Rudel après le préfixe WordPress. Voir État d’exécution.
RUDEL_RUNTIME_TABLE_ENVIRONMENTS Nom complet de remplacement pour la table des environnements, après le préfixe WordPress.
RUDEL_RUNTIME_TABLE_WORKTREES Nom complet de remplacement pour la table des worktrees, après le préfixe WordPress.
RUDEL_DB_DRIVER auto Pilote d’accès Rudel\Connection autonome : auto, mysqli ou pdo. Les requêtes WordPress utilisent toujours $wpdb.
RUDEL_GIT_AUTHOR_NAME Rudel Nom de l’auteur que Rudel inscrit dans la configuration Git d’un checkout s’il n’a pas de user.name, pour les commits wp rudel push.
RUDEL_GIT_AUTHOR_EMAIL rudel@localhost Adresse e-mail de l’auteur que Rudel inscrit si le checkout n’a pas de user.email.

Constantes dans une requête de bac à sable

Lorsqu’une requête sélectionne un bac à sable, l’initialisation définit des constantes que le code peut lire. Les plus utiles sont :

Constante Valeur
RUDEL_ID ID du bac à sable
RUDEL_PATH Répertoire du bac à sable
RUDEL_TABLE_PREFIX Préfixe de table du bac à sable
RUDEL_THEME_SLUG Thème servi depuis le bac à sable
RUDEL_HOST_URL, RUDEL_ENVIRONMENT_URL URL de l’hôte et du bac à sable
RUDEL_DISABLE_EMAIL true ; les e-mails sortants sont bloqués

Privilégiez les méthodes API], comme Rudel::id(), plutôt que la lecture directe des constantes.

L’initialisation définit également WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, WP_TEMP_DIR, WP_CACHE_KEY_SALT ainsi que les huit clés et sels d’authentification, mais uniquement ceux que wp-config.php n’a pas déjà définis. Voir Journalisation des erreurs et Isolation.