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

@ -4470,6 +4470,114 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Open Settings'**
String get hubUnreachableOpenSettings;
/// No description provided for @navFederation.
///
/// In en, this message translates to:
/// **'Federation'**
String get navFederation;
/// No description provided for @federationTitle.
///
/// In en, this message translates to:
/// **'Federation'**
String get federationTitle;
/// No description provided for @federationReloadTooltip.
///
/// In en, this message translates to:
/// **'Reload satellites'**
String get federationReloadTooltip;
/// No description provided for @federationAddSatellite.
///
/// In en, this message translates to:
/// **'Add satellite'**
String get federationAddSatellite;
/// No description provided for @federationEmptyTitle.
///
/// In en, this message translates to:
/// **'No satellites connected'**
String get federationEmptyTitle;
/// No description provided for @federationEmptyHint.
///
/// In en, this message translates to:
/// **'Connect another hub as a satellite to run capabilities on it. Issue an enrollment token to get started.'**
String get federationEmptyHint;
/// No description provided for @federationPillConnected.
///
/// In en, this message translates to:
/// **'connected'**
String get federationPillConnected;
/// No description provided for @federationRegionNone.
///
/// In en, this message translates to:
/// **'no region'**
String get federationRegionNone;
/// No description provided for @federationCapabilities.
///
/// In en, this message translates to:
/// **'{count} advertised capabilities'**
String federationCapabilities(int count);
/// No description provided for @federationAddDialogTitle.
///
/// In en, this message translates to:
/// **'Issue an enrollment token'**
String get federationAddDialogTitle;
/// No description provided for @federationNameLabel.
///
/// In en, this message translates to:
/// **'Satellite name'**
String get federationNameLabel;
/// No description provided for @federationIssueButton.
///
/// In en, this message translates to:
/// **'Issue'**
String get federationIssueButton;
/// No description provided for @federationIssueFailed.
///
/// In en, this message translates to:
/// **'Could not issue token: {error}'**
String federationIssueFailed(String error);
/// No description provided for @federationEnrollmentTitle.
///
/// In en, this message translates to:
/// **'Enroll {name}'**
String federationEnrollmentTitle(String name);
/// No description provided for @federationTokenLabel.
///
/// In en, this message translates to:
/// **'Bootstrap token (single use)'**
String get federationTokenLabel;
/// No description provided for @federationConfigLabel.
///
/// In en, this message translates to:
/// **'Satellite config (paste into the satellite)'**
String get federationConfigLabel;
/// No description provided for @federationCopied.
///
/// In en, this message translates to:
/// **'Copied to clipboard'**
String get federationCopied;
/// No description provided for @federationEnrollmentHint.
///
/// In en, this message translates to:
/// **'Hand the token to the satellite operator over a secure channel. The bundled CA makes the satellite\'s first connect tamper-proof.'**
String get federationEnrollmentHint;
}
class _AppLocalizationsDelegate