Files
sshkeyvault/src/app/(app)/schluessel/[id]/PrivateAusrollenAktion.tsx
T
florian.wildeandClaude Opus 5.5 12603eb145 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>
2026-10-12 11:05:03 +02:00

36 lines
961 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use client";
import { AusrollDialog } from "@/components/ausrollen/AusrollDialog";
import { PrivateZuweisenFormular } from "@/components/ausrollen/PrivateZuweisenFormular";
import type { ZielAuswahl } from "@/server/queries/ziele";
/** „+ Ausrollen“ in der Karte „Private Key ausgerollt auf“ (#017) – nur Admins. */
export function PrivateAusrollenAktion({
schluesselId,
darf,
auswahl,
slug,
passphraseGeschuetzt = false,
}: {
schluesselId: string;
darf: boolean;
auswahl?: ZielAuswahl;
slug?: string;
passphraseGeschuetzt?: boolean;
}) {
if (!darf || !auswahl || !slug) return null;
return (
<AusrollDialog titel="Private Key ausrollen">
{(schliessen) => (
<PrivateZuweisenFormular
schluesselId={schluesselId}
slug={slug}
auswahl={auswahl}
passphraseGeschuetzt={passphraseGeschuetzt}
beiErfolg={schliessen}
/>
)}
</AusrollDialog>
);
}