Twins und Recovery-Tests
Ein Twin ist eine Kopie eines Production- oder Staging-Hosts: dasselbe Release und dieselbe Umgebung aus Git, auf einem neuen Server in einem zweiten Hetzner-Projekt. Er besteht für eine Aufgabe und wird danach gelöscht.
Anlegen, nutzen, löschen
Abschnitt betitelt „Anlegen, nutzen, löschen“pbx twin create --production web-1 --task task-42 --branch agent/task-42 --ttl 4- Wo: in deinem Twin-Projekt, festgelegt bei
pbx upoder mitpbx twin settings. Der Hub lehnt ein Twin-Token ab, das zum Production-Projekt gehört. - Wie lange: standardmäßig 4 Stunden ab dem Moment, in dem er bereit ist; höchstens 72.
pbx twin extendverlängert einmal. - Wie viele: höchstens 3 gleichzeitig.
- Der Branch: Der Twin betreibt die Umgebung aus
--branch, ohne Angabe aus dem Branch der Produktion. - Löschen:
pbx twin delete task-42, oder der Hub löscht ihn, wenn seine Zeit um ist.
Gemessen in Hetzner Cloud am 20. Oktober 2026: ein Twin nach 44 Sekunden bereit, seine Adresse nach 11 Sekunden in der Firewall des Hubs und 7 Sekunden nach dem Löschen wieder entfernt.
Woher die Daten eines Twins kommen
Abschnitt betitelt „Woher die Daten eines Twins kommen“| Modus | Die Daten | Wann |
|---|---|---|
seed | dein Seed: ein Job in pbx/seed.yaml und kleine Dateien in pbx/seed-files/ unter dem Pfad der Umgebung, einmal auf dem leeren Volume ausgeführt | der Standard |
empty | nichts; die eigenen Migrationen deiner App | wenn die Revision kein pbx/seed.yaml hat |
copy | das neueste Backup der Produktion, zurückgespielt, dann dein Masken-Job pbx/mask.yaml | nur, wenn ein Owner Kopien für diese Umgebung erlaubt hat |
Nach dem Seed oder dem Masken-Job setzt der Hub einen Checkpoint. pbx twin reset task-42 setzt die Daten des Twins darauf zurück.
Eine Kopie der Produktionsdaten kann personenbezogene Daten enthalten. Ein Owner erlaubt sie je Umgebung, von einem Gerät mit der Anwesenheit einer Person, nach einer Warnung; Maskieren ist Pflicht, außer der Owner verzichtet mit einer Begründung darauf. Ein Coding-Agent kann einen Twin mit Kopie nur anfragen; eine Person gibt ihn frei. Ein Twin mit Kopie lebt höchstens 24 Stunden. Die Produktion führt nie einen Seed-Job aus.
Einen Twin erreichen
Abschnitt betitelt „Einen Twin erreichen“Recovery-Tests
Abschnitt betitelt „Recovery-Tests“Ein Recovery-Test spielt das neueste Backup eines Hosts auf einen neuen Server im Twin-Projekt zurück, startet die Umgebung, prüft sie und schreibt einen Bericht mit Zeiten. Der Server wird danach gelöscht. Gemessen in Hetzner Cloud: 64 und 75 Sekunden vom Start bis zum gelöschten Server.
Nachweis
Abschnitt betitelt „Nachweis“pbx twin evidence task-42 zeigt, was der Hub über einen Twin weiß (seine Revision, seinen Datenmodus, seine Zeiten), mit einem Digest, auf den ein Bericht verweisen kann.