feat(vorlagen): Vorlagen (Presets) für Assistent, API und CLI

Gespeicherte Kombinationen aus Distribution, Ressourcen und Profilen.
Im Assistenten mit einem Klick vorbelegt oder dort gespeichert; die API
nimmt „vorlage“ entgegen (Grundlage für --preset der CLI). Eine Vorlage
liegt unter der Anfrage – was die Anfrage selbst sagt, gewinnt.

Beim ersten Start wird das Beispiel „Docker-Host klein“ aus der Vorgabe
angelegt, einmalig.

Closes #012

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 13:44:33 +02:00
co-authored by Claude Opus 5.5
parent e4306a6a53
commit 1b1ee4b876
17 changed files with 737 additions and 8 deletions
@@ -0,0 +1,12 @@
-- CreateTable
CREATE TABLE "Vorlage" (
"name" TEXT NOT NULL,
"titel" TEXT NOT NULL,
"beschreibung" TEXT,
"parameter" JSONB NOT NULL,
"erstelltVonId" TEXT,
"erstelltAm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"geaendertAm" TIMESTAMP(3) NOT NULL,
CONSTRAINT "Vorlage_pkey" PRIMARY KEY ("name")
);
+13
View File
@@ -277,3 +277,16 @@ model Template {
@@unique([serverId, vmid])
@@index([serverId, distributionId])
}
/// Vorlage (Preset): eine gespeicherte Kombination, die Assistent, CLI (--preset) und API vorbelegen.
model Vorlage {
/// Kurzname für die CLI: „docker-host-klein“
name String @id
titel String
beschreibung String?
/// Teilmenge der Ausroll-Anfrage (typ, distribution, cores, speicherMb, diskGb, profile, variablen, tags …).
parameter Json
erstelltVonId String?
erstelltAm DateTime @default(now())
geaendertAm DateTime @updatedAt
}