Beim Template-Bau lassen sich Profile wählen (nur solche ohne Pflichtvariablen). Nach dem Vorbereitungsstart laufen sie über den Guest-Agent; danach werden Maschinen-ID, SSH-Host-Keys, Docker-Engine-ID und apt-Cache entfernt. Ausrollen nimmt das Template mit den meisten passenden Profilen und überspringt, was schon eingebacken ist. Auf pve-demo: Provisionierung mit base+docker 141 s ohne, ~30 s mit Template. Dabei gefunden: docker nimmt den Benutzer per guest.user in die Gruppe auf – Profile mit guest.* laufen deshalb beim Deploy noch einmal (idempotent, schnell). Closes #022 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
15 lines
667 B
TypeScript
15 lines
667 B
TypeScript
import { z } from "@/lib/validierung";
|
||
|
||
/** Anfrage „Template bauen“ – aus Web-GUI, CLI (`proxdeploy template build`) und dem Assistenten. */
|
||
export const TemplateBauAnfrage = z.object({
|
||
distribution: z.string().min(1, "Distribution fehlt."),
|
||
knoten: z.string().min(1, "Node fehlt."),
|
||
storage: z.string().min(1, "Storage fehlt."),
|
||
bridge: z.string().min(1).default("vmbr0"),
|
||
vlan: z.coerce.number().int().min(1).max(4094).optional(),
|
||
/** Profile, die ins Template eingebacken werden (#022) – nur solche ohne Pflichtvariablen. */
|
||
profile: z.array(z.string()).default([]),
|
||
});
|
||
|
||
export type TemplateBauAnfrage = z.infer<typeof TemplateBauAnfrage>;
|