# #013 CLI proxdeploy (Go) **Status:** in Arbeit **Meilenstein:** v0.4.0 **Labels:** feature, cli **Geschätzt:** 12 h **Tatsächlich:** – ## Ziel Alle Befehle aus der Vorgabe, Ausgabe exakt im Format der Vorgabe. ## Aufgaben - [x] API-Tokens (`pd_…`, nur SHA-256 gespeichert, Ablauf, Widerruf) mit Bearer-Anmeldung, `POST /auth/token` für `login`, Verwaltung in den Einstellungen - [x] Kurze Anfragen: Server füllt Storage, Bridge, Node, Benutzer, Schlüssel (`anfrageErgaenzen`), auch beim Template-Bau - [x] Abschlussbox serverseitig (`abschluss`), Web und CLI zeigen dieselben Zeilen - [x] OpenAPI aus zod (`/api/v1/openapi.json`, `pnpm openapi`), Go-Typen per oapi-codegen, `pnpm cli:pruefen` - [x] login, servers, distros, profiles, presets, vm, lxc, template list/build, batch, status, logs --follow, cancel - [x] Renderer: Farbe 24-bit/256/aus, --ascii, --quiet, --json, --dry-run; Golden-Tests - [x] Release-Builds für linux/darwin/windows × amd64/arm64 (`cli/bauen.sh`) - [ ] Abnahme auf pve-demo (VM + LXC per batch) ## Akzeptanzkriterien - [x] Ausgabe entspricht zeichengenau dem Mockup (`cli/internal/ausgabe/testdata/mockup.txt`, von Hand aus der Vorgabe übernommen) ## Abhängigkeiten #008, #012 ## Notizen / Entscheidungen - **Anfragen als Map, Antworten typisiert.** oapi-codegen macht Pflichtfelder zu Nicht-Zeigern; Go schickte dann `"storage": ""` und überschriebe Vorlagenwerte. Deshalb gehen nur gesetzte Flags hinaus. - **`[instances.]`** statt `[profiles.]` in der Konfiguration – „profile“ ist schon `--profile`. - **Strg+C hängt nur ab**, der Auftrag läuft weiter; Abbruch ist `proxdeploy cancel`. - **Ohne Terminal** (Pipe, CI) kein Neuzeichnen: jede Phase eine Zeile, sobald fertig; die Kopfzeile nach der ersten Phase, weil Node und Template erst dann feststehen. - **SSE-Ausfall:** Wiederverbinden mit Last-Event-ID; nach drei Fehlschlägen ohne Stand Polling alle 2 s. - **Go 1.27.2** ohne sudo unter `~/.local/go`; Bibliotheken mit abgelagerten Versionen (x/term 0.46.0, go-runewidth 0.0.30 statt der wenige Tage alten Nachfolger).