
# Kokoonpano

Rudel-asetuksia on kahta tyyppiä: `rudel_config` WordPress -valintaan tallennetut asetukset ja kohteessa `wp-config.php` määritellyt vakiot.

## `rudel_config`-valinta

Asetukset ovat yhdessä taulukossa kohteessa `wp_options` avaimen `rudel_config` alla. Kunnes jokin kirjoittaa valinnan, jokaisessa avaimessa käytetään oletusarvoa. Tuntemattomat avaimet ohitetaan, ja arvot tallennetaan kokonaislukuina.

| Avain | Oletusarvo | Merkitys |
|-----|---------|---------|
| `max_sandboxes` | `0` | Estää eristysympäristön luomisen, kun niitä on näin monta. `0` tarkoittaa, ettei rajaa ole. |
| `max_disk_mb` | `0` | Estää eristysympäristön luomisen, kun eristysympäristön hakemistot käyttävät näin monta megatavua. Kloonattuja tauluja ei lasketa mukaan. `0` tarkoittaa, ettei rajaa ole. |
| `default_ttl_days` | `0` | Uusien eristysympäristöjen vanhenemisaika, kun ne luodaan ilman asetusta `ttl_days` tai `expires_at`. `0` tarkoittaa, ettei vanhenemisaikaa ole. |
| `max_age_days` | `0` | Siivous poistaa tätä vanhemmat eristysympäristöt. `0` poistaa ikärajan käytöstä. |
| `max_idle_days` | `0` | Siivous poistaa eristysympäristöt, joissa ei ole kirjattua toimintaa (eristysympäristöpyyntöä tai tilannevedosta) näin pitkään aikaan. `0` poistaa toimettomuusrajan käytöstä. |
| `auto_cleanup_enabled` | `1` | Suorittaa siivouskäytännön kohteesta WP-Cron joka tunti. |
| `auto_cleanup_merged` | `0` | Suorittaa lisäksi yhdistettyjen haarojen siivouksen kohteesta WP-Cron. |
| `expiring_environment_notice_days` | `0` | Kerää kunkin automaatioajon yhteydessä näin monen päivän sisällä vanhenevat eristysympäristöt ja välittää ne toiminnolle `rudel_after_automation_expiring_environments`. |
| `auto_snapshot_before_restore` | `1` | Tallentaa tilannevedoksen `pre-restore-...` ennen jokaista palautusta. |

`wp rudel status` tulostaa nykyiset arvot.

Kirjoita valinta komennolla WP-CLI. Pois jätettyjen avainten oletusarvot säilyvät:

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

Tai kohteesta PHP:

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

WP-Cron-tapahtuma ajoitetaan tai poistetaan muutoksen jälkeisessä seuraavassa pyynnössä. Katso [Automaatio](https://rudel.inline0.dev/fi/docs/features/automation).

## Vakiot

Määrittele nämä kohteessa `wp-config.php` ennen Rudel-käynnistysriviä.

| Vakio | Oletusarvo | Merkitys |
|----------|---------|---------|
| `RUDEL_CLI_COMMAND` | `rudel` | Juuren WP-CLI-komennon nimi. |
| `RUDEL_ENVIRONMENTS_DIR` | `wp-content/rudel-environments` | Hakemisto, jossa eristysympäristöjen hakemistot sijaitsevat. Teeman resurssit tarjotaan aina kohteesta `/wp-content/rudel-environments/{id}/themes`, joten toisen hakemiston on silti oltava käytettävissä kyseisessä URL-kohteessa. |
| `RUDEL_RUNTIME_TABLE_PREFIX` | `rudel_` | Osa Rudel-taulujen nimistä WordPress-etuliitteen jälkeen. Katso [Ajonaikainen tila](https://rudel.inline0.dev/fi/docs/features/runtime-state). |
| `RUDEL_RUNTIME_TABLE_ENVIRONMENTS` | | Ympäristötaulun koko nimen korvaava arvo WordPress-etuliitteen jälkeen. |
| `RUDEL_RUNTIME_TABLE_WORKTREES` | | Työpuutaulun koko nimen korvaava arvo WordPress-etuliitteen jälkeen. |
| `RUDEL_DB_DRIVER` | `auto` | Erillisen `Rudel\Connection`-käytön ajuri: `auto`, `mysqli` tai `pdo`. WordPress-pyynnöt käyttävät aina arvoa `$wpdb`. |
| `RUDEL_GIT_AUTHOR_NAME` | `Rudel` | Tekijän nimi, jonka Rudel kirjoittaa checkoutin Git-asetuksiin, jos niissä ei ole arvoa `user.name`; käytetään kohteen `wp rudel push`-sitoumuksissa. |
| `RUDEL_GIT_AUTHOR_EMAIL` | `rudel@localhost` | Tekijän sähköpostiosoite, jonka Rudel kirjoittaa, jos checkoutissa ei ole arvoa `user.email`. |

## Eristysympäristöpyynnön sisäiset vakiot

Kun pyyntö valitsee eristysympäristön, käynnistysrutiini määrittelee vakioita, joita koodi voi lukea. Hyödyllisimmät ovat:

| Vakio | Arvo |
|----------|-------|
| `RUDEL_ID` | eristysympäristön tunnus |
| `RUDEL_PATH` | eristysympäristön hakemisto |
| `RUDEL_TABLE_PREFIX` | eristysympäristön taulujen etuliite |
| `RUDEL_THEME_SLUG` | eristysympäristöstä tarjottava teema |
| `RUDEL_HOST_URL`, `RUDEL_ENVIRONMENT_URL` | isännän ja eristysympäristön URL-osoitteet |
| `RUDEL_DISABLE_EMAIL` | `true`; lähtevä sähköposti on estetty |

Suosi lukemista suoraan vakioista [API](https://rudel.inline0.dev/fi/docs/api)-metodien, kuten `Rudel::id()`, avulla.

Käynnistysrutiini määrittelee myös vakiot `WP_DEBUG`, `WP_DEBUG_LOG`, `WP_DEBUG_DISPLAY`, `WP_TEMP_DIR` ja `WP_CACHE_KEY_SALT` sekä kahdeksan todennukseen käytettävää avainta ja suolaa, mutta vain ne, joita `wp-config.php` ei ole jo määritellyt. Katso [Virhelokitus](https://rudel.inline0.dev/fi/docs/features/logging) ja [Eristäminen](https://rudel.inline0.dev/fi/docs/environments/isolation).
