add hetzner-vm-destroy flow and document it in README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,7 @@ Aktuell enthalten:
|
||||
* `hetzner-vm-provision.yaml`
|
||||
* `hetzner-server-type-location-update.yaml`
|
||||
* `hetzner-server-available-list.yaml`
|
||||
* `hetzner-vm-destroy.yaml`
|
||||
* `.env.example`
|
||||
|
||||
Der erste Flow scannt mehrere Docker-Hosts per SSH, sucht nach Docker-Compose-Stacks und schreibt daraus eine Dropdown-Liste in den Kestra KV-Store.
|
||||
@@ -208,6 +209,35 @@ TF_BACKEND_ENDPOINT
|
||||
|
||||
---
|
||||
|
||||
### `hetzner-vm-destroy.yaml`
|
||||
|
||||
Kestra-Flow zum sicheren Löschen einer Hetzner Cloud VM via Terraform — mit Destroy-Plan, manuellem Approval-Gate und automatischer Inventar-Aktualisierung.
|
||||
|
||||
**Namespace:** `hetzner`
|
||||
**Trigger:** Manuell (kein Schedule)
|
||||
|
||||
Der Flow läuft in vier Phasen:
|
||||
|
||||
1. **Terraform Destroy Plan** — erstellt einen Destroy-Plan für die gewählte VM; lädt den Terraform State aus dem S3-Backend
|
||||
2. **Plan-Ausgabe loggen** — zeigt den vollständigen Destroy-Plan im Kestra-Log zur manuellen Prüfung
|
||||
3. **Approval-Gate** — Kestra pausiert und wartet auf manuelle Freigabe
|
||||
4. **Destroy / Abbruch** — bei Freigabe wird die VM gelöscht und anschließend automatisch der Subflow `hetzner-server-available-list` ausgeführt, um Inventar und KV-Store zu aktualisieren; bei Ablehnung wird abgebrochen
|
||||
|
||||
Die VM wird per dynamischem Dropdown aus dem KV-Key `hetzner_server_names` ausgewählt (befüllt durch `hetzner-server-available-list`).
|
||||
|
||||
Benötigte Kestra Secrets:
|
||||
|
||||
```text
|
||||
HCLOUD_TOKEN
|
||||
SSH_KEY_NAME
|
||||
AWS_ACCESS_KEY_ID
|
||||
AWS_SECRET_ACCESS_KEY
|
||||
TF_BACKEND_BUCKET
|
||||
TF_BACKEND_ENDPOINT
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `.env.example`
|
||||
|
||||
Beispiel-Datei für benötigte Umgebungsvariablen und Secrets.
|
||||
|
||||
Reference in New Issue
Block a user