
# Konfiguration

Rudel har to slags konfiguration: indstillinger gemt i indstillingen `rudel_config` WordPress og konstanter, du definerer i `wp-config.php`.

## Indstillingen `rudel_config`

Indstillingerne ligger i ét array i `wp_options` under `rudel_config`. Indtil noget skriver indstillingen, bruger hver nøgle sin standardværdi. Ukendte nøgler ignoreres, og værdier gemmes som heltal.

| Nøgle | Standard | Betydning |
|-----|---------|---------|
| `max_sandboxes` | `0` | Afvis oprettelse af en sandbox, når der findes så mange. `0` betyder ingen grænse. |
| `max_disk_mb` | `0` | Afvis oprettelse af en sandbox, når sandbox-mapperne fylder så mange megabyte. Klonede tabeller tælles ikke med. `0` betyder ingen grænse. |
| `default_ttl_days` | `0` | Udløb, der tildeles nye sandboxes oprettet uden `ttl_days` eller `expires_at`. `0` betyder intet udløb. |
| `max_age_days` | `0` | Oprydning fjerner sandboxes, der er ældre end dette. `0` deaktiverer aldersreglen. |
| `max_idle_days` | `0` | Oprydning fjerner sandboxes, hvor der ikke er registreret aktivitet (en sandbox-anmodning eller et snapshot) i så lang tid. `0` deaktiverer inaktivitetsreglen. |
| `auto_cleanup_enabled` | `1` | Kør oprydningspolitikken fra WP-Cron hver time. |
| `auto_cleanup_merged` | `0` | Kør også oprydning af flettede grene fra WP-Cron. |
| `expiring_environment_notice_days` | `0` | Indsaml sandboxes, der udløber inden for så mange dage, ved hver automatiseringskørsel, og send dem til handlingen `rudel_after_automation_expiring_environments`. |
| `auto_snapshot_before_restore` | `1` | Gem et `pre-restore-...`-snapshot før hver gendannelse. |

`wp rudel status` udskriver de aktuelle værdier.

Skriv indstillingen med WP-CLI. Nøgler, du udelader, beholder deres standardværdier:

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

Eller fra PHP:

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

Hændelsen WP-Cron planlægges eller fjernes ved den næste anmodning efter en ændring. Se [Automatisering](https://rudel.inline0.dev/da/docs/features/automation).

## Konstanter

Definer disse i `wp-config.php` over bootstraplinjen Rudel.

| Konstant | Standard | Betydning |
|----------|---------|---------|
| `RUDEL_CLI_COMMAND` | `rudel` | Navn på rodkommandoen WP-CLI. |
| `RUDEL_ENVIRONMENTS_DIR` | `wp-content/rudel-environments` | Mappe, der indeholder sandbox-mapper. Temaaktiver hentes altid fra `/wp-content/rudel-environments/{id}/themes`, så en anden mappe skal stadig være tilgængelig på den URL. |
| `RUDEL_RUNTIME_TABLE_PREFIX` | `rudel_` | Del af navnene på Rudel-tabellerne efter præfikset WordPress. Se [Runtime State](https://rudel.inline0.dev/da/docs/features/runtime-state). |
| `RUDEL_RUNTIME_TABLE_ENVIRONMENTS` | | Tilsidesæt det fulde navn på miljøtabellen efter præfikset WordPress. |
| `RUDEL_RUNTIME_TABLE_WORKTREES` | | Tilsidesæt det fulde navn på worktree-tabellen efter præfikset WordPress. |
| `RUDEL_DB_DRIVER` | `auto` | Driver til selvstændig adgang til `Rudel\Connection`: `auto`, `mysqli` eller `pdo`. WordPress-anmodninger bruger altid `$wpdb`. |
| `RUDEL_GIT_AUTHOR_NAME` | `Rudel` | Forfatternavn, som Rudel skriver i en checkouts Git-konfiguration, når den ikke har nogen `user.name`; bruges til `wp rudel push`-commits. |
| `RUDEL_GIT_AUTHOR_EMAIL` | `rudel@localhost` | Forfatterens e-mail, som Rudel skriver, når checkouten ikke har nogen `user.email`. |

## Konstanter i en sandbox-anmodning

Når en anmodning vælger en sandbox, definerer bootstrap konstanter, som koden kan læse. De mest nyttige er:

| Konstant | Værdi |
|----------|-------|
| `RUDEL_ID` | sandbox-id |
| `RUDEL_PATH` | sandbox-mappe |
| `RUDEL_TABLE_PREFIX` | sandboxens tabelpræfiks |
| `RUDEL_THEME_SLUG` | tema hentet fra sandboxen |
| `RUDEL_HOST_URL`, `RUDEL_ENVIRONMENT_URL` | URL'er for værten og sandboxen |
| `RUDEL_DISABLE_EMAIL` | `true`; udgående mail er blokeret |

Brug helst metoderne `Rudel::id()` i [API](https://rudel.inline0.dev/da/docs/api) frem for at læse konstanterne direkte.

Bootstrap definerer også `WP_DEBUG`, `WP_DEBUG_LOG`, `WP_DEBUG_DISPLAY`, `WP_TEMP_DIR`, `WP_CACHE_KEY_SALT` og de otte godkendelsesnøgler og -salte, men kun dem, som `wp-config.php` ikke allerede har defineret. Se [Fejllogning](https://rudel.inline0.dev/da/docs/features/logging) og [Isolation](https://rudel.inline0.dev/da/docs/environments/isolation).
