feat(schluessel): Zuweisen und Ausrollen auf der Schluesselseite (#017)
Auf der Seite eines Schluessels: Public Key einem Host oder einer Gruppe zuweisen, Private Key (nur Admin) auf einen Quell-Host legen - mit ~/.ssh/config-Eintrag und dem Host-Key des Ziels in known_hosts -, Dry-Run fuer alle Ziele, anwenden und die Verbindung von A nach B testen. Der Kern-Anwendungsfall laeuft damit im Browser durch (E2E). Der Dry-Run nimmt Private-Key-Ziele nur fuer Admins auf: sonst koennte ein Operator einen vorbereiteten Private Key ausrollen lassen. Die Vorschau zeigt je Datei die Aktion; der Inhalt eines Private Keys erreicht den Browser nie. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,25 @@
|
||||
"use client";
|
||||
|
||||
/**
|
||||
* Platzhalter fuer „+ Ausrollen“ in der Karte „Public Key ausgerollt auf“ (#012).
|
||||
* Inhalt folgt mit #016 (Zuweisung, Dry-Run, Ausrollen); bis dahin bewusst leer.
|
||||
*/
|
||||
export function PublicAusrollenAktion(props: { schluesselId: string; darf: boolean }): null {
|
||||
void props;
|
||||
return null;
|
||||
import { AusrollDialog } from "@/components/ausrollen/AusrollDialog";
|
||||
import { PublicZuweisenFormular } from "@/components/ausrollen/PublicZuweisenFormular";
|
||||
import type { ZielAuswahl } from "@/server/queries/ziele";
|
||||
|
||||
/** „+ Ausrollen“ in der Karte „Public Key ausgerollt auf“ (#016). */
|
||||
export function PublicAusrollenAktion({
|
||||
schluesselId,
|
||||
darf,
|
||||
auswahl,
|
||||
}: {
|
||||
schluesselId: string;
|
||||
darf: boolean;
|
||||
auswahl?: ZielAuswahl;
|
||||
}) {
|
||||
if (!darf || !auswahl) return null;
|
||||
return (
|
||||
<AusrollDialog titel="Public Key zuweisen">
|
||||
{(schliessen) => (
|
||||
<PublicZuweisenFormular schluesselId={schluesselId} auswahl={auswahl} beiErfolg={schliessen} />
|
||||
)}
|
||||
</AusrollDialog>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user