77 lines
4.5 KiB
PHP
77 lines
4.5 KiB
PHP
<?php
|
|
|
|
return [
|
|
|
|
'terminal' => [
|
|
|
|
'window_title' => 'CluPilot-Server — Terminal',
|
|
|
|
// Auf der Einstellungsseite, am Knopf.
|
|
'open' => 'Terminal öffnen',
|
|
'hint' => 'Öffnet ein eigenes Fenster mit einer Root-Sitzung auf dem CluPilot-Server.',
|
|
|
|
// Was auf der Bühne steht — dem Bild, das über dem Terminal liegt.
|
|
// Dieselben sechs Fälle wie beim Host, weil es dieselbe Brücke ist;
|
|
// nur nennen sie hier keinen Hostnamen, sondern die eine Maschine, auf
|
|
// der diese Konsole selbst läuft.
|
|
'stage' => [
|
|
'connecting' => [
|
|
'title' => 'Verbinde mit dem CluPilot-Server',
|
|
'note' => 'Das Einmal-Ticket wird eingelöst und die Sitzung aufgebaut.',
|
|
],
|
|
'ended' => [
|
|
'title' => 'Sitzung beendet',
|
|
'note' => 'Die Verbindung zum Server wurde geschlossen. Ein neuer Anlauf öffnet eine frische Sitzung.',
|
|
],
|
|
'lost' => [
|
|
'title' => 'Keine Verbindung',
|
|
'note' => 'Es kam keine Sitzung zustande. Läuft der Terminal-Dienst?',
|
|
],
|
|
'rejected' => [
|
|
'title' => 'Ticket nicht mehr gültig',
|
|
'note' => 'Ein Ticket gilt dreißig Sekunden und genau einmal. Dieses war abgelaufen oder schon eingelöst — ein neuer Anlauf stellt ein frisches aus.',
|
|
],
|
|
// Absichtlich ohne Festlegung: die Brücke schickt 4502 für JEDE
|
|
// gescheiterte Anmeldung. Beim Server sind zwei Fälle so viel
|
|
// wahrscheinlicher als der Rest, dass sie hier stehen — und beide
|
|
// haben dieselbe Rückfahrkarte.
|
|
'unreachable' => [
|
|
'title' => 'Keine Sitzung auf dem Server',
|
|
'note' => 'Die Brücke kam nicht bis zur Kommandozeile. Am wahrscheinlichsten sind zwei Gründe: der Serverschlüssel steht nicht mehr in /root/.ssh/authorized_keys, oder der Server hat seine Hostschlüssel neu erzeugt und der hinterlegte Fingerabdruck passt nicht mehr. Beides räumt ein erneutes „sudo bash deploy/install-agent.sh" auf dem Server aus. Was genau es war, steht im Protokoll des Terminal-Dienstes; dieses Fenster erfährt es absichtlich nicht.',
|
|
],
|
|
'service_down' => [
|
|
'title' => 'Der Terminal-Dienst läuft nicht',
|
|
'note' => 'Die Konsole steht, die Brücke dahinter nicht: nginx meldet für diese Stelle 502. Auf dem Server hilft „docker compose up -d terminal". Sie teilt sich den Netz-Namensraum des Tunnel-Containers und muss nach jedem Neustart des Tunnels selbst mit neu gestartet werden — sonst lauscht sie in einem Namensraum, den es nicht mehr gibt, und meldet dabei weiter „healthy".',
|
|
],
|
|
'not_here' => [
|
|
'title' => 'Auf diesem Namen gibt es kein Terminal',
|
|
'note' => 'Die Brücke ist Werkzeug der Konsole und antwortet auf öffentlichen Hostnamen mit 404 — dieselbe Regel wie für /admin. Öffne die Konsole unter ihrem eigenen Namen.',
|
|
],
|
|
'retry' => 'Neu verbinden',
|
|
],
|
|
|
|
// Gründe, die schon der Server kennt. Sie stehen sofort da, statt dass
|
|
// ein Fenster aufgeht und auf eine Verbindung wartet, die es nicht
|
|
// geben kann.
|
|
'problem' => [
|
|
'no_key' => [
|
|
'title' => 'Für den Server ist keine Kennung erzeugt',
|
|
'note' => 'Das Terminal zum Server hat einen eigenen SSH-Schlüssel, getrennt vom Flottenschlüssel. Er wird unter Einstellungen erzeugt.',
|
|
],
|
|
'not_installed' => [
|
|
'title' => 'Der Server ist dafür noch nicht eingerichtet',
|
|
'note' => 'Der Schlüssel ist erzeugt, aber auf dem Server noch nicht hinterlegt. Dort einmal „sudo bash deploy/install-agent.sh" ausführen — das trägt ihn ein und hält den Fingerabdruck des Servers fest.',
|
|
],
|
|
'off_network' => [
|
|
'title' => 'Nicht von dieser Adresse',
|
|
'note' => 'Eine Root-Sitzung auf dem Server geht nur aus dem Management-Netz oder von einer freigegebenen Adresse auf. Wer im VPN steht, kommt hier durch — die Liste steht unter Einstellungen.',
|
|
],
|
|
'unknown' => [
|
|
'title' => 'Das Terminal lässt sich gerade nicht öffnen',
|
|
'note' => 'Beim Ausstellen des Tickets ist etwas schiefgegangen. Der Vorfall steht im Protokoll; ein neuer Anlauf ist einen Versuch wert.',
|
|
],
|
|
],
|
|
],
|
|
|
|
];
|