
# Configuratie

Rudel heeft twee soorten configuratie: instellingen die zijn opgeslagen in de optie `rudel_config` WordPress, en constanten die u definieert in `wp-config.php`.

## De optie `rudel_config`

Instellingen staan in één array in `wp_options` onder `rudel_config`. Totdat iets de optie opslaat, gebruikt elke sleutel de standaardwaarde. Onbekende sleutels worden genegeerd en waarden worden als gehele getallen opgeslagen.

| Sleutel | Standaard | Betekenis |
|-----|---------|---------|
| `max_sandboxes` | `0` | Weigert een sandbox aan te maken wanneer dit aantal is bereikt. `0` betekent geen limiet. |
| `max_disk_mb` | `0` | Weigert een sandbox aan te maken wanneer de sandboxmappen dit aantal megabytes gebruiken. Gekloonde tabellen worden niet meegeteld. `0` betekent geen limiet. |
| `default_ttl_days` | `0` | Vervaldatum voor nieuwe sandboxes die zijn aangemaakt zonder `ttl_days` of `expires_at`. `0` betekent geen vervaldatum. |
| `max_age_days` | `0` | Opruiming verwijdert sandboxes die ouder zijn dan deze waarde. `0` schakelt de leeftijdsregel uit. |
| `max_idle_days` | `0` | Opruiming verwijdert sandboxes zonder geregistreerde activiteit (een sandboxverzoek of momentopname) gedurende deze tijd. `0` schakelt de inactiviteitsregel uit. |
| `auto_cleanup_enabled` | `1` | Voert elk uur het opruimbeleid uit vanuit WP-Cron. |
| `auto_cleanup_merged` | `0` | Voert ook opruiming van samengevoegde branches uit vanuit WP-Cron. |
| `expiring_environment_notice_days` | `0` | Verzamelt bij elke automatiseringsrun sandboxes die binnen dit aantal dagen verlopen en geeft ze door aan de actie `rudel_after_automation_expiring_environments`. |
| `auto_snapshot_before_restore` | `1` | Slaat vóór elke herstelactie een `pre-restore-...`-momentopname op. |

`wp rudel status` toont de huidige waarden.

Schrijf de optie met WP-CLI. Sleutels die u weglaat, behouden hun standaardwaarden:

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

Of vanuit PHP:

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

De gebeurtenis WP-Cron wordt bij het eerstvolgende verzoek na een wijziging ingepland of verwijderd. Zie [Automatisering](https://rudel.inline0.dev/nl/docs/features/automation).

## Constanten

Definieer deze in `wp-config.php` boven de bootstrapregel Rudel.

| Constante | Standaard | Betekenis |
|----------|---------|---------|
| `RUDEL_CLI_COMMAND` | `rudel` | Naam van de rootopdracht WP-CLI. |
| `RUDEL_ENVIRONMENTS_DIR` | `wp-content/rudel-environments` | Map waarin de sandboxmappen staan. Thema-assets worden altijd vanuit `/wp-content/rudel-environments/{id}/themes` aangeboden, dus een andere map moet nog steeds bereikbaar zijn via dat URL. |
| `RUDEL_RUNTIME_TABLE_PREFIX` | `rudel_` | Deel van de tabelnamen van Rudel na het voorvoegsel WordPress. Zie [Runtimestatus](https://rudel.inline0.dev/nl/docs/features/runtime-state). |
| `RUDEL_RUNTIME_TABLE_ENVIRONMENTS` | | Volledige naamoverschrijving voor de tabel met omgevingen, na het voorvoegsel WordPress. |
| `RUDEL_RUNTIME_TABLE_WORKTREES` | | Volledige naamoverschrijving voor de worktreestabel, na het voorvoegsel WordPress. |
| `RUDEL_DB_DRIVER` | `auto` | Driver voor zelfstandige toegang tot `Rudel\Connection`: `auto`, `mysqli` of `pdo`. Verzoeken van WordPress gebruiken altijd `$wpdb`. |
| `RUDEL_GIT_AUTHOR_NAME` | `Rudel` | Auteursnaam die Rudel naar de configuratie van Git schrijft wanneer deze geen `user.name` heeft; gebruikt voor commits van `wp rudel push`. |
| `RUDEL_GIT_AUTHOR_EMAIL` | `rudel@localhost` | E-mailadres van de auteur dat Rudel schrijft wanneer de checkout geen `user.email` heeft. |

## Constanten binnen een sandboxverzoek

Wanneer een verzoek een sandbox selecteert, definieert de bootstrap constanten die code kan lezen. De handigste zijn:

| Constante | Waarde |
|----------|-------|
| `RUDEL_ID` | sandbox-ID |
| `RUDEL_PATH` | sandboxmap |
| `RUDEL_TABLE_PREFIX` | tabelvoorvoegsel van de sandbox |
| `RUDEL_THEME_SLUG` | thema dat vanuit de sandbox wordt aangeboden |
| `RUDEL_HOST_URL`, `RUDEL_ENVIRONMENT_URL` | URL's van de host en sandbox |
| `RUDEL_DISABLE_EMAIL` | `true`; uitgaande e-mail is geblokkeerd |

Gebruik bij voorkeur de methoden [API](https://rudel.inline0.dev/nl/docs/api), zoals `Rudel::id()`, in plaats van de constanten rechtstreeks te lezen.

De bootstrap definieert ook `WP_DEBUG`, `WP_DEBUG_LOG`, `WP_DEBUG_DISPLAY`, `WP_TEMP_DIR`, `WP_CACHE_KEY_SALT` en de acht authenticatiesleutels en salts, maar alleen de waarden die `wp-config.php` nog niet heeft gedefinieerd. Zie [Foutregistratie](https://rudel.inline0.dev/nl/docs/features/logging) en [Isolatie](https://rudel.inline0.dev/nl/docs/environments/isolation).
