feat: federation panel + Dart SDK federation methods (0.70.0)
Some checks failed
Security / Security check (push) Failing after 2s
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:
parent
b35bbc1b12
commit
d0cfa5df05
12 changed files with 815 additions and 4 deletions
|
|
@ -1594,5 +1594,23 @@
|
|||
"endpoint": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"hubUnreachableOpenSettings": "Einstellungen öffnen"
|
||||
"hubUnreachableOpenSettings": "Einstellungen öffnen",
|
||||
"navFederation": "Föderation",
|
||||
"federationTitle": "Föderation",
|
||||
"federationReloadTooltip": "Satelliten neu laden",
|
||||
"federationAddSatellite": "Satellit hinzufügen",
|
||||
"federationEmptyTitle": "Keine Satelliten verbunden",
|
||||
"federationEmptyHint": "Verbinde einen weiteren Hub als Satellit, um Capabilities dort auszuführen. Stelle dazu ein Enrollment-Token aus.",
|
||||
"federationPillConnected": "verbunden",
|
||||
"federationRegionNone": "keine Region",
|
||||
"federationCapabilities": "{count} angebotene Capabilities",
|
||||
"federationAddDialogTitle": "Enrollment-Token ausstellen",
|
||||
"federationNameLabel": "Satelliten-Name",
|
||||
"federationIssueButton": "Ausstellen",
|
||||
"federationIssueFailed": "Token konnte nicht ausgestellt werden: {error}",
|
||||
"federationEnrollmentTitle": "{name} einrichten",
|
||||
"federationTokenLabel": "Bootstrap-Token (einmalig)",
|
||||
"federationConfigLabel": "Satelliten-Konfiguration (in den Satelliten einfügen)",
|
||||
"federationCopied": "In die Zwischenablage kopiert",
|
||||
"federationEnrollmentHint": "Übergib das Token dem Satelliten-Betreiber über einen sicheren Kanal. Die mitgelieferte CA macht den ersten Connect des Satelliten manipulationssicher."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1597,5 +1597,38 @@
|
|||
"endpoint": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"hubUnreachableOpenSettings": "Open Settings"
|
||||
"hubUnreachableOpenSettings": "Open Settings",
|
||||
"navFederation": "Federation",
|
||||
"federationTitle": "Federation",
|
||||
"federationReloadTooltip": "Reload satellites",
|
||||
"federationAddSatellite": "Add satellite",
|
||||
"federationEmptyTitle": "No satellites connected",
|
||||
"federationEmptyHint": "Connect another hub as a satellite to run capabilities on it. Issue an enrollment token to get started.",
|
||||
"federationPillConnected": "connected",
|
||||
"federationRegionNone": "no region",
|
||||
"federationCapabilities": "{count} advertised capabilities",
|
||||
"@federationCapabilities": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
}
|
||||
},
|
||||
"federationAddDialogTitle": "Issue an enrollment token",
|
||||
"federationNameLabel": "Satellite name",
|
||||
"federationIssueButton": "Issue",
|
||||
"federationIssueFailed": "Could not issue token: {error}",
|
||||
"@federationIssueFailed": {
|
||||
"placeholders": {
|
||||
"error": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"federationEnrollmentTitle": "Enroll {name}",
|
||||
"@federationEnrollmentTitle": {
|
||||
"placeholders": {
|
||||
"name": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"federationTokenLabel": "Bootstrap token (single use)",
|
||||
"federationConfigLabel": "Satellite config (paste into the satellite)",
|
||||
"federationCopied": "Copied to clipboard",
|
||||
"federationEnrollmentHint": "Hand the token to the satellite operator over a secure channel. The bundled CA makes the satellite's first connect tamper-proof."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2635,4 +2635,67 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get hubUnreachableOpenSettings => 'Open Settings';
|
||||
|
||||
@override
|
||||
String get navFederation => 'Federation';
|
||||
|
||||
@override
|
||||
String get federationTitle => 'Federation';
|
||||
|
||||
@override
|
||||
String get federationReloadTooltip => 'Reload satellites';
|
||||
|
||||
@override
|
||||
String get federationAddSatellite => 'Add satellite';
|
||||
|
||||
@override
|
||||
String get federationEmptyTitle => 'No satellites connected';
|
||||
|
||||
@override
|
||||
String get federationEmptyHint =>
|
||||
'Connect another hub as a satellite to run capabilities on it. Issue an enrollment token to get started.';
|
||||
|
||||
@override
|
||||
String get federationPillConnected => 'connected';
|
||||
|
||||
@override
|
||||
String get federationRegionNone => 'no region';
|
||||
|
||||
@override
|
||||
String federationCapabilities(int count) {
|
||||
return '$count advertised capabilities';
|
||||
}
|
||||
|
||||
@override
|
||||
String get federationAddDialogTitle => 'Issue an enrollment token';
|
||||
|
||||
@override
|
||||
String get federationNameLabel => 'Satellite name';
|
||||
|
||||
@override
|
||||
String get federationIssueButton => 'Issue';
|
||||
|
||||
@override
|
||||
String federationIssueFailed(String error) {
|
||||
return 'Could not issue token: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String federationEnrollmentTitle(String name) {
|
||||
return 'Enroll $name';
|
||||
}
|
||||
|
||||
@override
|
||||
String get federationTokenLabel => 'Bootstrap token (single use)';
|
||||
|
||||
@override
|
||||
String get federationConfigLabel =>
|
||||
'Satellite config (paste into the satellite)';
|
||||
|
||||
@override
|
||||
String get federationCopied => 'Copied to clipboard';
|
||||
|
||||
@override
|
||||
String get federationEnrollmentHint =>
|
||||
'Hand the token to the satellite operator over a secure channel. The bundled CA makes the satellite\'s first connect tamper-proof.';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue