> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seaotter.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Provisionierungs-Lifecycle

> Wie config.provisioning_stages vom Namespace bis zum erreichbaren Hermes-Wizard laufen.

Einen SeaOtter-Agenten anzulegen ist **asynchron** und braucht kein SSH. `POST /api/v1/agents` antwortet in etwa einer Sekunde mit `status=provisioning`. Typische Wandzeit bis das Hermes-Dashboard erreichbar ist: **wenige Minuten** (meist unter fünf). Stages pollen, bis `wizard_reachable` `ok` und `status` `running` ist.

`POST /api/v1/agents` legt eine Zeile an, setzt URLs, queued Arbeit, dann läuft der Worker eine **strikte, geordnete** Menge Readiness-Gates auf dem Agenten:

```text theme={null}
config.provisioning_stages
```

`GET /api/v1/agents/{id}` pollen, bis Stages fertig und `status` `running` (oder `error`) ist.

## Stage-Reihenfolge

| Stage               | Bedeutung                                                                                     |
| ------------------- | --------------------------------------------------------------------------------------------- |
| `namespace_created` | Kubernetes-Namespace pro Agent existiert                                                      |
| `helm_installed`    | Hermes-Chart angewendet                                                                       |
| `pod_ready`         | Deployment-Replicas bereit und Pod Ready (API + Dashboard)                                    |
| `sandbox_verified`  | gVisor-Runtime bestätigt, wenn `config.sandbox=gvisor`; übersprungen, wenn Sandboxing aus ist |
| `dns_resolvable`    | Öffentlicher Hostname hat einen A-Record                                                      |
| `tls_valid`         | Geteiltes Wildcard-TLS bestätigt                                                              |
| `wizard_reachable`  | HTTPS-Erreichbarkeit als Hard-Gate auf dem Dashboard-Host                                     |

Stages laufen **nicht** parallel. Spätere Stages bleiben `pending`, bis frühere gelingen.

Pausieren, neu starten und wiederherstellen laufen über API oder Dashboard, ohne SSH.

Volle Statuswerte und Fehlerbilder: [englischer Lifecycle-Guide](/guides/provisioning-lifecycle).
