# Föderation Föderation lässt einen Hub (den **Primary**) Capabilities auf einem anderen Hub (einem **Satelliten**) ausführen — etwa um eine GPU-Maschine zu erreichen oder Daten an einem bestimmten Ort zu halten. Ein Flow-Schritt entscheidet sich per `on:`-Selektor dafür; alles andere bleibt wie bei einem lokalen Schritt. Dieses Panel ist die **Primary**-Seite: Es zeigt die aktuell verbundenen Satelliten und richtet neue ein. ## Satellit hinzufügen 1. **Satellit hinzufügen** drücken und einen Namen vergeben (z.B. `satellite-a`). 2. Der Hub stellt ein einmaliges **Bootstrap-Token** aus und legt sein **CA-Zertifikat** bei. Kopiere die gezeigte Konfiguration in die `config.yaml` des Satelliten (ein Einfügen) und exportiere das Token als `CHAIN_BOOTSTRAP_TOKEN`. 3. Starte den Satelliten. Er wählt sich beim Primary ein, der CA-Pin macht den ersten Connect manipulationssicher, und der Primary signiert ihm ein kurzlebiges Zertifikat. Danach erscheint er in dieser Liste. ## Warum es sicher bleibt - Der Satellit **wählt sich nach außen ein** — keine eingehende Firewall-Änderung nötig. - Jede Verbindung ist **mTLS**. Der erste Connect wird gegen die beigelegte CA verifiziert; spätere Connects authentifizieren sich mit dem eigenen Zertifikat des Satelliten (kein Token nötig). - Der Satellit löst auf und führt die Capability in **seiner eigenen Sandbox** aus — nur Eingaben gehen über die Leitung, niemals Code. - Jeder hub-übergreifende Aufruf wird auf beiden Seiten protokolliert (`dispatched_to`), sodass Audit-Trail und Replay-Determinismus die Föderation überstehen. ## Satellit in einem Flow nutzen Ergänze einen `on:`-Selektor an einem Schritt: ```yaml - id: extract use: text.extract@^1 on: region=berlin # oder pin=satellite-a, auto:healthiest, auto:lowest_rtt with: input: $inputs.doc ```