
# Konfiguracija

Rudel ima dve vrsti konfiguracije: nastavitve, shranjene v možnosti `rudel_config` WordPress, in konstante, ki jih določite v `wp-config.php`.

## Možnost `rudel_config`

Nastavitve so shranjene v eni tabeli v `wp_options` pod `rudel_config`. Dokler možnosti nič ne zapiše, se za vsak ključ uporablja privzeta vrednost. Neznani ključi so prezrti, vrednosti pa so shranjene kot cela števila.

| Ključ | Privzeto | Pomen |
|-----|---------|---------|
| `max_sandboxes` | `0` | Zavrne ustvarjanje peskovnega okolja, ko jih obstaja toliko. `0` pomeni brez omejitve. |
| `max_disk_mb` | `0` | Zavrne ustvarjanje peskovnega okolja, ko imeniki peskovnih okolij zasedajo toliko megabajtov. Klonirane tabele se ne štejejo. `0` pomeni brez omejitve. |
| `default_ttl_days` | `0` | Čas do poteka veljavnosti za nova peskovna okolja, ustvarjena brez `ttl_days` ali `expires_at`. `0` pomeni, da veljavnost ne poteče. |
| `max_age_days` | `0` | Čiščenje odstrani peskovna okolja, starejša od te vrednosti. `0` onemogoči starostno omejitev. |
| `max_idle_days` | `0` | Čiščenje odstrani peskovna okolja brez zabeležene dejavnosti (zahteva za peskovno okolje ali posnetek) v tem obdobju. `0` onemogoči omejitev nedejavnosti. |
| `auto_cleanup_enabled` | `1` | Vsako uro zažene pravilnik čiščenja iz WP-Cron. |
| `auto_cleanup_merged` | `0` | Zažene tudi čiščenje združenih vej iz WP-Cron. |
| `expiring_environment_notice_days` | `0` | Ob vsakem zagonu avtomatizacije zbere peskovna okolja, ki jim veljavnost poteče v toliko dneh, in jih posreduje dejanju `rudel_after_automation_expiring_environments`. |
| `auto_snapshot_before_restore` | `1` | Pred vsako obnovitvijo shrani posnetek `pre-restore-...`. |

`wp rudel status` izpiše trenutne vrednosti.

Možnost zapišite z WP-CLI. Izpuščeni ključi ohranijo privzete vrednosti:

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

Ali iz PHP:

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

Dogodek WP-Cron se po spremembi načrtuje ali odstrani ob naslednji zahtevi. Glejte [Avtomatizacija](https://rudel.inline0.dev/sl/docs/features/automation).

## Konstante

Določite jih v `wp-config.php` pred vrstico za zagon Rudel.

| Konstanta | Privzeto | Pomen |
|----------|---------|---------|
| `RUDEL_CLI_COMMAND` | `rudel` | Ime korenskega ukaza WP-CLI. |
| `RUDEL_ENVIRONMENTS_DIR` | `wp-content/rudel-environments` | Imenik, ki vsebuje imenike peskovnih okolij. Sredstva teme se vedno strežejo iz `/wp-content/rudel-environments/{id}/themes`, zato mora biti drug imenik še vedno dosegljiv na tej URL. |
| `RUDEL_RUNTIME_TABLE_PREFIX` | `rudel_` | Del imen tabel Rudel za predpono WordPress. Glejte [Stanje med izvajanjem](https://rudel.inline0.dev/sl/docs/features/runtime-state). |
| `RUDEL_RUNTIME_TABLE_ENVIRONMENTS` | | Nadomestno polno ime za tabelo okolij za predpono WordPress. |
| `RUDEL_RUNTIME_TABLE_WORKTREES` | | Nadomestno polno ime za tabelo delovnih kopij za predpono WordPress. |
| `RUDEL_DB_DRIVER` | `auto` | Gonilnik za samostojen dostop do `Rudel\Connection`: `auto`, `mysqli` ali `pdo`. Zahteve WordPress vedno uporabljajo `$wpdb`. |
| `RUDEL_GIT_AUTHOR_NAME` | `Rudel` | Ime avtorja, ki ga Rudel zapiše v konfiguracijo Git kopije za delo, če ta nima `user.name`; uporablja se za potrditve `wp rudel push`. |
| `RUDEL_GIT_AUTHOR_EMAIL` | `rudel@localhost` | E-poštni naslov avtorja, ki ga Rudel zapiše, če kopija za delo nima `user.email`. |

## Konstante v zahtevi za peskovno okolje

Ko zahteva izbere peskovno okolje, zagon določi konstante, ki jih koda lahko prebere. Najuporabnejše so:

| Konstanta | Vrednost |
|----------|-------|
| `RUDEL_ID` | ID peskovnega okolja |
| `RUDEL_PATH` | imenik peskovnega okolja |
| `RUDEL_TABLE_PREFIX` | predpona tabel peskovnega okolja |
| `RUDEL_THEME_SLUG` | tema, ki se streže iz peskovnega okolja |
| `RUDEL_HOST_URL`, `RUDEL_ENVIRONMENT_URL` | URL-ja gostitelja in peskovnega okolja |
| `RUDEL_DISABLE_EMAIL` | `true`; odhodna pošta je blokirana |

Raje uporabite metode [API](https://rudel.inline0.dev/sl/docs/api), kot je `Rudel::id()`, kot pa neposredno branje konstant.

Zagon določi tudi `WP_DEBUG`, `WP_DEBUG_LOG`, `WP_DEBUG_DISPLAY`, `WP_TEMP_DIR`, `WP_CACHE_KEY_SALT` ter osem ključev in soli za preverjanje pristnosti, vendar samo tiste, ki jih `wp-config.php` še ni določil. Glejte [Beleženje napak](https://rudel.inline0.dev/sl/docs/features/logging) in [Izolacija](https://rudel.inline0.dev/sl/docs/environments/isolation).
