
# Siivous

Siivous poistaa eristysympäristöt, joita ei enää tarvita. Esikatsele ensin:

```bash
wp rudel cleanup --dry-run
```

`--dry-run` luettelee poistettavat kohteet ja poistojen syyt. Poista ne suorittamalla komento ilman valitsinta:

```bash
wp rudel cleanup
```

Komento ei pyydä vahvistusta.

## Käytäntö

Suojaamaton eristysympäristö poistetaan, kun jokin seuraavista ehdoista täyttyy:

| Syy | Sääntö |
|--------|------|
| `expiry reached` | sen `expires_at` on menneisyydessä |
| `age policy matched` | se luotiin yli `max_age_days` sitten |
| `idle policy matched` | sen viimeisimmästä toiminnasta on yli `max_idle_days` |

`max_age_days` ja `max_idle_days` saadaan asetuksesta `rudel_config` (molempien oletusarvo on `0`, joka poistaa säännön käytöstä). Korvaa ne yhden ajon ajaksi:

```bash
wp rudel cleanup --max-age-days=30 --dry-run
wp rudel cleanup --max-idle-days=7
```

Viimeisin toiminta päivittyy jokaisessa pyynnössä, joka valitsee eristysympäristön, sekä tilannevedoksia otettaessa.

## Yhdistetyt eristysympäristöt

```bash
wp rudel cleanup --merged --dry-run
```

`--merged` suorittaa erillisen käsittelyn yllä kuvatun käytännön sijaan. Se poistaa eristysympäristön, kun kaikki siihen kirjatut linkitetyt Git-työpuut ovat haaroissa, jotka on yhdistetty tietovaraston oletushaaraan, ja poistaa sitten nämä haarat. Linkitetyt työpuut syntyvät, kun kloonataan eristysympäristö, jonka teemahakemisto on Git-tietovarasto (katso [Git](https://rudel.inline0.dev/fi/docs/features/git)). Komennolla `--git` luoduilla eristysympäristöillä ei ole työpuutietueita, joten ne ohitetaan aina ([ongelma #8](https://github.com/inline0/rudel/issues/8)).

## Suojatut eristysympäristöt

Molemmat käsittelyt ohittavat suojatut eristysympäristöt. Poista ensin suojaus komennolla `wp rudel update <id> --unprotected`, jos siivouksen tulee käsitellä niitä. `wp rudel destroy` ohittaa suojauksen.

Eristysympäristön poistaminen pudottaa sen taulut, poistaa hallitut tiedostot ja työpuut sekä poistaa Rudel-ympäristötietueen. Katso kohdasta [Automaatio](https://rudel.inline0.dev/fi/docs/features/automation), miten siivous ajoitetaan.
