Files
Laufzettel/docs/issues/024-proxmox-echtlauf.md
Florian WildeandClaude Opus 5 60aaf746cf
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s
docs(issues): #024 auf v0.3.0, es haelt den Tag nicht auf
Der Proxmox-Einzeiler ist auf einem echten PVE-Host nie gelaufen — das ist eine
Gegenpruefung und kein fehlendes Stueck: shellcheck-geprueft, im --dry-run
gefahren, und der Installationsteil laeuft vollstaendig in einem
debian:13-Container. Was fehlt, ist pct create auf einem Host, den diese
Umgebung nicht hat. Die Pruefliste wartet unveraendert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-11 08:50:58 +02:00

66 lines
3.5 KiB
Markdown
Raw Permalink 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.
# #024 Proxmox-Einzeiler auf einem echten PVE-Host gegenprüfen
**Status:** offen
**Im Tracker:** [#38](https://git.wilde-server.de/florian.wilde/Laufzettel/issues/38)
**Meilenstein:** v0.3.0
**Labels:** phase-2, infra
**Geschätzt:** 2 h **Tatsächlich:** –
## Ziel
`deploy/proxmox/laufzettel.sh` ist statisch geprüft und im Trockenlauf durchgelaufen, aber **nie auf
einem Proxmox-Host ausgeführt** — hier stand keiner zur Verfügung. Der Installationsteil
(`deploy/install.sh`) dagegen ist vollständig getestet: in `debian:13` ohne systemd und in einem
privilegierten Container mit echtem systemd 257, inklusive Aktualisierungslauf, `ProtectSystem`,
Sandbox und `/api/gesundheit`.
Ungeprüft ist damit genau die Klammer darum: `pct`, `pveam`, `pvesh` und `whiptail`.
Dieses Issue schließt, wenn der Einzeiler einmal auf einem echten PVE-Host gelaufen ist und die
Prüfliste in [docs/betrieb/proxmox.md](../betrieb/proxmox.md) („Was du beim ersten Lauf selbst
nachprüfen musst“) abgehakt ist. Die Liste ist der Prüfplan, nicht dieses Issue.
## Konkret ungeprüft
- [ ] `pveversion` erkennt PVE 8 und 9 richtig; Abbruch auf einem Nicht-PVE-Rechner
- [ ] `pveam available` / `pveam download` finden die Debian-13-Standardvorlage
- [ ] `pct create` nimmt die zusammengebauten Argumente an (Speicher mit Inhalt `rootdir`,
unprivilegiert, DHCP auf `vmbr0`)
- [ ] Die Ermittlung der nächsten freien CTID über `pvesh` stimmt mit dem, was PVE vergibt
- [ ] Der Container bekommt eine Adresse, und `CT_IP` wird richtig abgelesen — davon hängen `APP_URL`
und der Abschlussbildschirm ab
- [ ] `pct exec … bash -c "<Umgebung> bash /root/laufzettel-install.sh"` übergibt die Variablen so,
wie `install.sh` sie liest (`APP_URL`, `BIND_ADDR`, `LAUFZETTEL_REPO`, `LAUFZETTEL_ZWEIG`,
`LAUFZETTEL_PASSWORT_DATEI`)
- [ ] Das Erstpasswort wird aus `/root/laufzettel-erstpasswort` gelesen **und danach gelöscht**
- [ ] Der `whiptail`-Dialog ist auf einer PVE-Shell bedienbar (Standard und Erweitert)
- [ ] Der zweite Aufruf erkennt den Container am Hostnamen und aktualisiert statt anzulegen
- [ ] `--aktualisieren` bricht ab, wenn es keinen Container `laufzettel` gibt
- [ ] Die Ausgabe von `install.sh` erscheint im Terminal, ohne von einem Spinner überschrieben zu
werden
## Aufgaben
- [ ] Einzeiler auf einem PVE-Host fahren, Prüfliste abhaken
- [ ] Abweichungen als eigene Issues aufnehmen, nicht hier sammeln
- [ ] Nach dem erfolgreichen Lauf den Satz „Der `pct`-Teil ist ungetestet“ in
`docs/betrieb/proxmox.md` durch das Ergebnis ersetzen (PVE-Fassung, Datum)
- [ ] `docs/abnahme-mvp.md` Zeile 11 abhaken
## Akzeptanzkriterien
- [ ] Ein LXC, in dem `systemctl is-active laufzettel` „active“ meldet und `/api/gesundheit`
`status ok` liefert
- [ ] `pct exec <ctid> -- ss -ltn` zeigt keinen Port 5432
- [ ] Zweiter Aufruf: Daten, `APP_SECRET` und Datenbankpasswort unverändert
## Verschoben auf v0.3.0 (2026-10-11)
Stand bis hierher auf v0.2.0 und hat den Tag nicht aufgehalten, weil es eine **Gegenprüfung** ist
und kein fehlendes Stück: `deploy/proxmox/laufzettel.sh` ist `shellcheck`-geprüft und im
`--dry-run` gefahren, und der eigentliche Installationsteil (`deploy/install.sh`) läuft vollständig
in einem `debian:13`-Container — PostgreSQL, Bau, Migration, Seed, Dienststart.
Was fehlt, ist der `pct create`-Teil auf einem echten PVE-Host, und der verlangt einen Host, den
diese Umgebung nicht hat. Die Prüfliste steht oben; sie wartet unverändert.