Vai al contenuto

Configurazione

Rudel prevede due tipi di configurazione: le impostazioni memorizzate nell'opzione rudel_config WordPress e le costanti definite in wp-config.php.

L'opzione rudel_config

Le impostazioni si trovano in un unico array in wp_options, sotto rudel_config. Finché l'opzione non viene scritta, ogni chiave usa il proprio valore predefinito. Le chiavi sconosciute vengono ignorate e i valori sono memorizzati come interi.

Chiave Predefinito Significato
max_sandboxes 0 Rifiuta la creazione di una sandbox quando il numero raggiunge questo valore. 0 significa nessun limite.
max_disk_mb 0 Rifiuta la creazione di una sandbox quando le sue directory raggiungono questa dimensione in megabyte. Le tabelle clonate non vengono conteggiate. 0 significa nessun limite.
default_ttl_days 0 Scadenza assegnata alle nuove sandbox create senza ttl_days o expires_at. 0 significa nessuna scadenza.
max_age_days 0 La pulizia rimuove le sandbox più vecchie di questo valore. 0 disabilita il limite di anzianità.
max_idle_days 0 La pulizia rimuove le sandbox senza attività registrata (una richiesta alla sandbox o uno snapshot) per questo intervallo. 0 disabilita il limite di inattività.
auto_cleanup_enabled 1 Applica ogni ora la regola di pulizia da WP-Cron.
auto_cleanup_merged 0 Applica anche la pulizia dei rami uniti da WP-Cron.
expiring_environment_notice_days 0 A ogni esecuzione dell'automazione, raccoglie le sandbox in scadenza entro questo numero di giorni e le passa all'azione rudel_after_automation_expiring_environments.
auto_snapshot_before_restore 1 Salva uno snapshot pre-restore-... prima di ogni ripristino.

wp rudel status stampa i valori correnti.

Scrivete l'opzione con WP-CLI. Le chiavi omesse mantengono i valori predefiniti:

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

Oppure da PHP:

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

L'evento WP-Cron viene pianificato o rimosso alla richiesta successiva alla modifica. Vedi Automazione.

Costanti

Definite queste costanti in wp-config.php prima della riga di bootstrap Rudel.

Costante Predefinito Significato
RUDEL_CLI_COMMAND rudel Nome del comando WP-CLI radice.
RUDEL_ENVIRONMENTS_DIR wp-content/rudel-environments Directory che contiene le directory delle sandbox. Gli asset del tema vengono sempre serviti da /wp-content/rudel-environments/{id}/themes, quindi un'altra directory deve essere comunque raggiungibile tramite quel URL.
RUDEL_RUNTIME_TABLE_PREFIX rudel_ Parte dei nomi delle tabelle Rudel, dopo il prefisso WordPress. Vedi Stato del runtime.
RUDEL_RUNTIME_TABLE_ENVIRONMENTS Override del nome completo della tabella degli ambienti, dopo il prefisso WordPress.
RUDEL_RUNTIME_TABLE_WORKTREES Override del nome completo della tabella dei worktree, dopo il prefisso WordPress.
RUDEL_DB_DRIVER auto Driver per l'accesso Rudel\Connection indipendente: auto, mysqli o pdo. Le richieste WordPress usano sempre $wpdb.
RUDEL_GIT_AUTHOR_NAME Rudel Nome dell'autore che Rudel scrive nella configurazione Git di un checkout quando manca user.name, usato per i commit wp rudel push.
RUDEL_GIT_AUTHOR_EMAIL rudel@localhost Email dell'autore che Rudel scrive quando nel checkout manca user.email.

Costanti all'interno di una richiesta alla sandbox

Quando una richiesta seleziona una sandbox, il bootstrap definisce costanti leggibili dal codice. Le più utili sono:

Costante Valore
RUDEL_ID ID della sandbox
RUDEL_PATH directory della sandbox
RUDEL_TABLE_PREFIX prefisso delle tabelle della sandbox
RUDEL_THEME_SLUG tema servito dalla sandbox
RUDEL_HOST_URL, RUDEL_ENVIRONMENT_URL URL dell'host e della sandbox
RUDEL_DISABLE_EMAIL true; la posta in uscita è bloccata

Preferite i metodi API, come Rudel::id(), alla lettura diretta delle costanti.

Il bootstrap definisce anche WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, WP_TEMP_DIR, WP_CACHE_KEY_SALT e le otto chiavi e gli otto salt di autenticazione, ma solo quelli che wp-config.php non ha già definito. Vedi Registrazione degli errori e Isolamento.