feat: federation panel + Dart SDK federation methods (0.70.0)
Some checks failed
Security / Security check (push) Failing after 2s

A new 'Föderation' destination (primary side) lists connected
satellites — name, region, version, wire version, advertised
capabilities — and adds them in one step: 'Add satellite' issues a
single-use bootstrap token bundled with the primary CA as a
ready-to-paste satellite config (the bundled CA makes the first
connect tamper-proof). Localized EN + DE, in-app help doc. Uses the
new HubService.listSatellites / issueSatelliteToken wrapping the
SDK's federation methods.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-13 14:16:07 +02:00
parent b35bbc1b12
commit d0cfa5df05
12 changed files with 815 additions and 4 deletions

View file

@ -2632,4 +2632,67 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get hubUnreachableOpenSettings => 'Einstellungen öffnen';
@override
String get navFederation => 'Föderation';
@override
String get federationTitle => 'Föderation';
@override
String get federationReloadTooltip => 'Satelliten neu laden';
@override
String get federationAddSatellite => 'Satellit hinzufügen';
@override
String get federationEmptyTitle => 'Keine Satelliten verbunden';
@override
String get federationEmptyHint =>
'Verbinde einen weiteren Hub als Satellit, um Capabilities dort auszuführen. Stelle dazu ein Enrollment-Token aus.';
@override
String get federationPillConnected => 'verbunden';
@override
String get federationRegionNone => 'keine Region';
@override
String federationCapabilities(int count) {
return '$count angebotene Capabilities';
}
@override
String get federationAddDialogTitle => 'Enrollment-Token ausstellen';
@override
String get federationNameLabel => 'Satelliten-Name';
@override
String get federationIssueButton => 'Ausstellen';
@override
String federationIssueFailed(String error) {
return 'Token konnte nicht ausgestellt werden: $error';
}
@override
String federationEnrollmentTitle(String name) {
return '$name einrichten';
}
@override
String get federationTokenLabel => 'Bootstrap-Token (einmalig)';
@override
String get federationConfigLabel =>
'Satelliten-Konfiguration (in den Satelliten einfügen)';
@override
String get federationCopied => 'In die Zwischenablage kopiert';
@override
String get federationEnrollmentHint =>
'Übergib das Token dem Satelliten-Betreiber über einen sicheren Kanal. Die mitgelieferte CA macht den ersten Connect des Satelliten manipulationssicher.';
}