diff --git a/CHANGELOG.md b/CHANGELOG.md index e61d832..71bb084 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,25 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/). ### Sicherheit +## [1.0.0] – 2026-10-23 + +Erste stabile Fassung. Kein neuer Funktionsumfang gegenüber 0.27.1 – was fehlte, war Erprobung, und +die ist erbracht: + +- **Ein Lizenzjahr vollständig durchlaufen.** Für `hv-pve-01` und `hv-pve-02` (Robert Hofmann GmbH): + Warnung vor dem Ablauf am 17.10.2026, Verlängerung, Proxmox-Rechnung 291017 mit Rabatt je Position, + Kundenrechnung, beide bezahlt. Die Folgelaufzeiten stehen auf 17.10.2027. +- **Proxmox Backup Server mit aktiver Lizenz bestätigt.** Drei PBS-Hosts melden Key und Ablaufdatum. +- **Proxmox VE** ist seit dem Feldtest im September bestätigt: mit und ohne Subscription, einzeln und + im Cluster, mit und ohne QDevice. +- **Wiederherstellung geprobt** (#045): Daten zerstört, zurückgespielt, geprüft. + +Im Betrieb seit dem 03.10.2026 mit 16 Hosts, vier Kunden und echten Rechnungen. + +**Weiterhin ungeprüft:** Proxmox Mail Gateway – dort wird derzeit kein Host betrieben; der Zweig ist +im Handbuch als ungeprüft gekennzeichnet (#023). Ebenso steht die Wiederherstellungsprobe für die +Installation als Dienst noch aus; geprobt ist der Docker-Weg. + ## [0.27.1] – 2026-10-23 ### Sicherheit diff --git a/DEVLOG.md b/DEVLOG.md index d9bc74c..4950394 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -73,7 +73,7 @@ ## 2026-09-17 · Sitzung 1 · 19:36–laufend **Issue:** #001–#007 (Meilensteine v0.1.0 bis v0.4.0) -**Version:** 0.27.1 +**Version:** 1.0.0 ### Erledigt - Auftrag gelesen, Rückfragen gestellt @@ -237,6 +237,11 @@ - Geprüft, was davon ProxLedger trifft: `next/image` und `use cache` werden nicht genutzt, Server Actions dagegen überall – die Blockade war also echt - Erinnerung an mich: Zwei Wartungsblicke in Folge haben hohe bis kritische Meldungen gefunden. Der wöchentliche Lauf in der CI ist überfällig +### 23.10.2026 – 1.0.0 +- Florian hat den Beleg geliefert: `hv-pve-01` und `hv-pve-02` sind verlängert, beide Rechnungen bezahlt, die Folgelaufzeiten stehen auf 17.10.2027. Dazu drei PBS-Hosts mit aktiver Lizenz +- PMG wird zurückgestellt – kein Host im Betrieb. Die Lücke bleibt im Handbuch benannt, statt sie wegzudefinieren +- Damit ist 1.0.0 gerechtfertigt: nicht weil nichts mehr fehlt, sondern weil das, was fehlte, erprobt wurde + ### Nächster Schritt - #016 Benutzerhandbuch mit Screenshots, danach #017 Favicons und #019 CI-Pipeline - Für 1.0.0 fehlt noch: PMG (kein Host verfügbar) und der Fall „aktive Subscription auf PBS“ (#023) diff --git a/README.md b/README.md index d97590d..a13a3f9 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,11 @@ Zentrales Dashboard für den Subscription-Status aller Proxmox-Hosts (VE, Backup Server, Mail Gateway). Auf jedem Host meldet ein schlanker Agent täglich per HTTPS seinen Status (Push-Modell) – auch aus Kundennetzen hinter NAT. -> **Status:** einsatzbereit. Der Agent ist auf echten Hosts erprobt – Proxmox VE 9.2 mit und ohne -> Subscription, im Cluster und einzeln, sowie Proxmox Backup Server 4.2 (#018, #023). -> Ungeprüft: Mail Gateway und eine aktive Subscription auf PBS. Was bis 1.0 fehlt, steht in -> [docs/roadmap.md](docs/roadmap.md). +> **Status: 1.0.0 – im produktiven Einsatz.** Seit dem 03.10.2026 mit echten Daten in Betrieb; ein +> Lizenzjahr ist vollständig durchlaufen (Warnung → Verlängerung → Einkauf → Kundenrechnung → bezahlt). +> Erprobt auf Proxmox VE 9.2 mit und ohne Subscription, einzeln und im Cluster, sowie auf Proxmox +> Backup Server 4.2 mit und ohne Lizenz. **Ungeprüft:** Mail Gateway – dort wird derzeit kein Host +> betrieben. Was als Nächstes ansteht, steht in [docs/roadmap.md](docs/roadmap.md). ## Schnellstart diff --git a/docs/issues/023-feldtest-pbs-pmg.md b/docs/issues/023-feldtest-pbs-pmg.md index 9c6d1c3..b386a39 100644 --- a/docs/issues/023-feldtest-pbs-pmg.md +++ b/docs/issues/023-feldtest-pbs-pmg.md @@ -1,8 +1,8 @@ # #023 Feldtest auf Proxmox Backup Server und Mail Gateway -**Status:** offen +**Status:** erledigt **Meilenstein:** v1.0.0 **Labels:** agent, feldtest -**Geschätzt:** 2 h **Tatsächlich:** 0 h 35 min (PBS erledigt, PMG offen) +**Geschätzt:** 2 h **Tatsächlich:** 0 h 35 min ## Ziel Der Feldtest in #018 lief auf zwei Proxmox-VE-Hosts. Für Backup Server und Mail Gateway beruht die @@ -23,7 +23,7 @@ falsch erwiesen (`--output-format json` gibt es dort nicht). Das gehört vor 1.0 - [x] Erhobene Ausgaben als Testfälle in `tests/agent-skript.test.ts` aufnehmen – der heutige PBS-Testfall ist erfunden (JSON) und damit womöglich am echten Verhalten vorbei - [x] Agent auf einem PBS-Host installieren, einen Report abwarten, wieder deinstallieren -- [ ] PMG offen lassen und die Lücke im Handbuch benennen +- [x] PMG: von Florian am 23.10.2026 zurückgestellt – wird derzeit nicht betrieben, die Lücke bleibt im Handbuch benannt ## Notizen Der Cluster-Abgleich aus #022 betrifft nur PVE: PBS und PMG kennen kein `pvecm`, dort bleibt die @@ -67,3 +67,14 @@ ist auch der letzte offene Punkt aus #018 erledigt. **Weiterhin offen:** PMG (kein Host) und der Fall „aktive Subscription auf PBS“ (nur unlizenzierte Hosts verfügbar). Dieses Issue bleibt deshalb offen. + +## Abschluss am 23.10.2026 + +**PBS mit aktiver Lizenz: bestätigt.** In der produktiven Installation melden `pbs-cloud-01`, +`bup-pbs-01` und `bup-lwwif-pbs-01` ihre `pbsb-…`-Keys samt Ablaufdatum (04.10.2027). Damit ist auch +der lizenzierte Fall auf Proxmox Backup Server belegt – nach dem Fund der Rahmentabelle (#037) war +das der letzte offene Punkt dieses Produktzweigs. + +**PMG: zurückgestellt.** Florian betreibt derzeit kein Mail Gateway; der Feldtest entfällt bis auf +Weiteres. Im Handbuch steht weiterhin, dass dieser Zweig ungeprüft ist und der erste PMG-Host nach +der Installation einmal gegenzuprüfen gehört (`proxledger-agent --dry-run`). diff --git a/docs/issues/README.md b/docs/issues/README.md index 3da06e5..97b3ac2 100644 --- a/docs/issues/README.md +++ b/docs/issues/README.md @@ -26,7 +26,7 @@ Details und Architektur: [../architektur.md](../architektur.md). Zeiten werden a | [#020](020-gitea-issue-abgleich.md) | Issues nach Gitea übertragen | erledigt | v0.4.1 | 2 h | 0 h 10 min | | [#021](021-geheimnisse-verschluesseln.md) | Zugangsdaten verschlüsselt speichern | erledigt | v0.13.1 | 2 h | 0 h 20 min | | [#022](022-cluster-abgleich.md) | Cluster-Abgleich | erledigt | v0.14.0 | 3 h | 0 h 25 min | -| [#023](023-feldtest-pbs-pmg.md) | Feldtest auf PBS und PMG | offen | v1.0.0 | 2 h | 0 h 35 min (PBS erledigt, PMG offen) | +| [#023](023-feldtest-pbs-pmg.md) | Feldtest auf PBS und PMG | erledigt | v1.0.0 | 2 h | 0 h 35 min | | [#024](024-owasp-haertung.md) | Härtung nach OWASP | erledigt | v0.15.0 | 4 h | 0 h 45 min | | [#025](025-einstellungen.md) | Einstellungen im Dashboard | erledigt | v0.16.0 | 5 h | 1 h 10 min | | [#026](026-auslieferung.md) | Auslieferung finalisieren | erledigt | v0.17.0 | 3 h | 0 h 40 min | diff --git a/docs/roadmap.md b/docs/roadmap.md index 875f8d3..d0e1424 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -1,6 +1,6 @@ # Roadmap -Stand: 10.10.2026, Fassung 0.27.0 +Stand: 23.10.2026, Fassung 1.0.0 Die erste Fassung dieser Roadmap entstand vor dem produktiven Einsatz. Seitdem läuft ProxLedger mit echten Daten, und das hat die Reihenfolge deutlich verändert: Was aus der Benutzung kam, war fast @@ -18,12 +18,25 @@ Stellen. --- -## Bis 1.0.0 +## 1.0.0 ist erreicht (23.10.2026) -Kein neuer Funktionsumfang – es fehlt Erprobung. +Alle Kriterien erfüllt: -| Punkt | Warum | Aufwand | -|---|---|---| +| Punkt | Stand | +|---|---| +| Ein Lizenzjahr vollständig durchlaufen | **erledigt** – `hv-pve-01` und `hv-pve-02` am 17.10.2026, beide Rechnungen bezahlt | +| PBS mit aktiver Lizenz | **erledigt** – drei PBS-Hosts melden Key und Ablauf | +| Sicherung zurückspielen | **erledigt** ([#045](issues/045-wiederherstellung-geprobt.md)) | +| PMG im Feldtest | **zurückgestellt** – wird derzeit nicht betrieben ([#023](issues/023-feldtest-pbs-pmg.md)) | + +Zwei kleinere Punkte bleiben offen, keiner davon hält 1.0.0 auf: + +- Die Wiederherstellungsprobe für die **Installation als Dienst** (geprobt ist der Docker-Weg). +- Ein **wöchentlicher `npm audit`-Lauf in der CI**. Zwei Wartungsblicke hintereinander haben hohe bis + kritische Meldungen gefunden – zuletzt zwei kritische Lücken in Next.js. Bei einem öffentlich + erreichbaren Dashboard gehört das automatisiert. + +---|---|---| | **PMG im Feldtest** ([#023](issues/023-feldtest-pbs-pmg.md)) | Der einzige Produktzweig ohne echten Host. Bei PBS lag die Annahme daneben, und der Agent hätte dort nichts gemeldet. | 1 h, sobald ein Host da ist | | **PBS mit aktiver Lizenz** | Bisher nur „keine Subscription“ geprüft. | 30 min | | ~~Sicherung einmal zurückspielen~~ | **Erledigt am 10.10.2026** ([#045](issues/045-wiederherstellung-geprobt.md)) – dabei kamen zwei Lücken heraus. Offen bleibt die Probe für die Installation als Dienst. | – | diff --git a/package.json b/package.json index 0cb6050..d9f6c20 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "proxledger", - "version": "0.27.1", + "version": "1.0.0", "private": true, "scripts": { "dev": "next dev",