
# Loomine

## Loomine hostist

```bash
wp rudel create --name=alpha --theme=twentytwentyfour
```

Rudel loob nime ja nelja kuueteistkümnendmärgi põhjal ID (näiteks `alpha-3be7`), kloonib hosti WordPress tabelid genereeritud tabeli eesliitega tabeliteks, kopeerib valitud teema liivakasti kataloogi ning salvestab liivakasti hosti WordPress andmebaasi. Liivakasti `siteurl` ja `home` säilitavad hosti URL.

Kui `--theme` jäetakse ära, kasutab Rudel hosti saidi aktiivset teemat. Teema peab olema hosti installitud. Alateemaga tuuakse kaasa ka selle emateema.

Iga hosti tabeli eesliitega tabel kopeeritakse, sealhulgas `users` ja `usermeta`, välja arvatud Rudel enda tabelid. Praeguses versioonis hõlmab see ka juba olemasolevate liivakastide tabeleid, seega on iga uus liivakast eelmisest suurem. Vaadake [probleemi nr 3](https://github.com/inline0/rudel/issues/3).

## Loomine teisest liivakastist

```bash
wp rudel create --name=feature-b --clone-from=alpha-3be7
```

Uus liivakast saab koopia kõigist lähte-liivakasti eesliitega tabelitest, sh lähte-liivakasti hetktõmmiste tabelitest, ning selle teemast. Hetktõmmiste katalooge ei kopeerita, seega pole need tabelid uues liivakastis kasutusel ([probleem nr 12](https://github.com/inline0/rudel/issues/12)). Kui lähte-liivakasti teemakataloog on Git hoidla, loob Rudel harule `rudel/{new-id}` lingitud tööpuu tavalise koopia asemel. Lähte-ID salvestatakse uude kirjesse.

## Elutsükli metaandmed

Liivakastidega saab siduda puhastamise ja omanikuga seotud metaandmeid:

```bash
wp rudel create \
  --name=feature-a \
  --owner=dennis \
  --labels=agent,qa \
  --purpose="Test checkout changes" \
  --ttl-days=7
```

Kasutage valikut `--protected`, kui automaatne puhastus ei tohi liivakasti eemaldada. Vaadake teemat [Poliitika](https://rudel.inline0.dev/et/docs/features/policy).

## Piirangud

Loomine nurjub, kui saavutatakse seade `max_sandboxes` või `max_disk_mb`. Mõlema vaikeväärtus on `0`, mis tähendab piiranguta. Vaadake teemat [Seadistus](https://rudel.inline0.dev/et/docs/configuration).

## Git töökoopiad

```bash
wp rudel create --name=feature-a --git=https://example.test/my-theme.git
```

Rudel loob liivakasti, kloonib kaughoidla liivakasti kataloogis asukohta `themes/my-theme` ja lülitab töökoopia harule `rudel/{id}`. Lisage `--type=plugin`, et kloonida selle asemel asukohta `plugins/my-theme`. Klooni ebaõnnestumisel jääb liivakast alles ja väljastatakse hoiatus. Vaadake teemast [Git](https://rudel.inline0.dev/et/docs/features/git), mida liivakast sellest töökoopiast serveerib.

## Kataloogide paigutus

```text
wp-content/rudel-environments/{id}/
  themes/       copied theme, plus any Git checkout
  snapshots/    snapshot metadata and theme copies
  logs/ metadata/ tmp/
  wp-cli.yml
  debug.log     when debug logging is active
```
