
# Konfigurācija

Rudel ir divu veidu konfigurācija: iestatījumi, kas glabājas opcijā `rudel_config` WordPress, un konstantes, ko definējat failā `wp-config.php`.

## Opcija `rudel_config`

Iestatījumi atrodas vienā masīvā failā `wp_options` zem atslēgas `rudel_config`. Kamēr opcijā nekas nav ierakstīts, katrai atslēgai tiek izmantota noklusējuma vērtība. Nezināmas atslēgas tiek ignorētas, un vērtības tiek saglabātas kā veseli skaitļi.

| Atslēga | Noklusējums | Nozīme |
|-----|---------|---------|
| `max_sandboxes` | `0` | Ja to skaits sasniedz šo vērtību, smilškasti izveidot nevar. `0` nozīmē, ka ierobežojuma nav. |
| `max_disk_mb` | `0` | Ja smilškastu direktorijas aizņem tik daudz megabaitu, jaunu smilškasti izveidot nevar. Klonētās tabulas netiek skaitītas. `0` nozīmē, ka ierobežojuma nav. |
| `default_ttl_days` | `0` | Termiņš jaunām smilškastēm, kas izveidotas bez `ttl_days` vai `expires_at`. `0` nozīmē, ka termiņa nav. |
| `max_age_days` | `0` | Tīrīšana noņem smilškastes, kas ir vecākas par šo laiku. `0` atspējo vecuma noteikumu. |
| `max_idle_days` | `0` | Tīrīšana noņem smilškastes, kurās tik ilgi nav reģistrēta aktivitāte (smilškastes pieprasījums vai momentuzņēmums). `0` atspējo dīkstāves noteikumu. |
| `auto_cleanup_enabled` | `1` | Katru stundu izpildīt tīrīšanas politiku no WP-Cron. |
| `auto_cleanup_merged` | `0` | Izpildīt arī apvienoto zaru tīrīšanu no WP-Cron. |
| `expiring_environment_notice_days` | `0` | Katrā automatizācijas izpildē apkopot smilškastes, kuru termiņš beidzas šajā dienu skaitā, un nodot tās darbībai `rudel_after_automation_expiring_environments`. |
| `auto_snapshot_before_restore` | `1` | Pirms katras atjaunošanas saglabāt `pre-restore-...` momentuzņēmumu. |

`wp rudel status` parāda pašreizējās vērtības.

Ierakstiet opciju ar WP-CLI. Neiekļautajām atslēgām tiek saglabātas noklusējuma vērtības:

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

Vai arī no PHP:

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

Pēc izmaiņām notikums WP-Cron tiek ieplānots vai noņemts nākamajā pieprasījumā. Skatiet [Automatizācija](https://rudel.inline0.dev/lv/docs/features/automation).

## Konstantes

Definējiet tās failā `wp-config.php` virs Rudel sāknēšanas rindas.

| Konstante | Noklusējums | Nozīme |
|----------|---------|---------|
| `RUDEL_CLI_COMMAND` | `rudel` | Saknes WP-CLI komandas nosaukums. |
| `RUDEL_ENVIRONMENTS_DIR` | `wp-content/rudel-environments` | Direktorija, kurā atrodas smilškastu direktorijas. Tēmas resursi vienmēr tiek nodrošināti no `/wp-content/rudel-environments/{id}/themes`, tāpēc citai direktorijai joprojām jābūt sasniedzamai šajā URL. |
| `RUDEL_RUNTIME_TABLE_PREFIX` | `rudel_` | Daļa no Rudel tabulu nosaukumiem pēc prefiksa WordPress. Skatiet [Izpildlaika stāvoklis](https://rudel.inline0.dev/lv/docs/features/runtime-state). |
| `RUDEL_RUNTIME_TABLE_ENVIRONMENTS` | | Pilna nosaukuma aizstājējs vides tabulai pēc prefiksa WordPress. |
| `RUDEL_RUNTIME_TABLE_WORKTREES` | | Pilna nosaukuma aizstājējs darba koku tabulai pēc prefiksa WordPress. |
| `RUDEL_DB_DRIVER` | `auto` | Atsevišķas `Rudel\Connection` piekļuves draiveris: `auto`, `mysqli` vai `pdo`. WordPress pieprasījumos vienmēr tiek izmantots `$wpdb`. |
| `RUDEL_GIT_AUTHOR_NAME` | `Rudel` | Autora vārds Rudel ieraksta izraksta Git konfigurācijā, ja tajā nav `user.name`; to izmanto `wp rudel push` komitiem. |
| `RUDEL_GIT_AUTHOR_EMAIL` | `rudel@localhost` | Autora e-pasts, ko Rudel ieraksta, ja izrakstā nav `user.email`. |

## Konstantes smilškastes pieprasījumā

Kad pieprasījumā tiek atlasīta smilškaste, sāknēšanas process definē konstantes, ko var nolasīt kods. Noderīgākās ir:

| Konstante | Vērtība |
|----------|-------|
| `RUDEL_ID` | smilškastes ID |
| `RUDEL_PATH` | smilškastes direktorija |
| `RUDEL_TABLE_PREFIX` | smilškastes tabulu prefikss |
| `RUDEL_THEME_SLUG` | no smilškastes nodrošinātā tēma |
| `RUDEL_HOST_URL`, `RUDEL_ENVIRONMENT_URL` | resursdatora un smilškastes URL |
| `RUDEL_DISABLE_EMAIL` | `true`; izejošais pasts ir bloķēts |

Dodiet priekšroku tādām metodēm kā [API](https://rudel.inline0.dev/lv/docs/api), piemēram, `Rudel::id()`, nevis nolasiet konstantes tieši.

Sāknēšanas process definē arī `WP_DEBUG`, `WP_DEBUG_LOG`, `WP_DEBUG_DISPLAY`, `WP_TEMP_DIR`, `WP_CACHE_KEY_SALT` un astoņas autentifikācijas atslēgas un sāļus, taču tikai tās, kuras `wp-config.php` vēl nav definējis. Skatiet [Kļūdu žurnalēšana](https://rudel.inline0.dev/lv/docs/features/logging) un [Izolācija](https://rudel.inline0.dev/lv/docs/environments/isolation).
