docs: project log for the changes from ADR 0025
ci / Protobuf (push) Successful in 22s
ci / Web (lint, test, audit, build) (push) Successful in 3m4s
ci / Go (lint, test, vuln) (push) Successful in 7m6s
ci / Release build (dry run) (push) Successful in 3m51s
ci / Integration (real BIND and Kea) (push) Successful in 2m46s
install / Installation (debian:13) (push) Successful in 5m42s
install / Installation (ubuntu:24.04) (push) Successful in 5m40s
ci / Shell and licence headers (push) Successful in 21s
ci / Development environment (compose) (push) Successful in 21s
ci / End-to-end (server, agents, BIND, Kea) (push) Successful in 4m29s
install / Installation (debian:12) (push) Successful in 5m55s
install / Installation (ubuntu:22.04) (push) Successful in 5m33s
install / Installation (rocky:9) (push) Successful in 8m36s
release / release (push) Successful in 4m13s
ci / Protobuf (push) Successful in 22s
ci / Web (lint, test, audit, build) (push) Successful in 3m4s
ci / Go (lint, test, vuln) (push) Successful in 7m6s
ci / Release build (dry run) (push) Successful in 3m51s
ci / Integration (real BIND and Kea) (push) Successful in 2m46s
install / Installation (debian:13) (push) Successful in 5m42s
install / Installation (ubuntu:24.04) (push) Successful in 5m40s
ci / Shell and licence headers (push) Successful in 21s
ci / Development environment (compose) (push) Successful in 21s
ci / End-to-end (server, agents, BIND, Kea) (push) Successful in 4m29s
install / Installation (debian:12) (push) Successful in 5m55s
install / Installation (ubuntu:22.04) (push) Successful in 5m33s
install / Installation (rocky:9) (push) Successful in 8m36s
release / release (push) Successful in 4m13s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
32bac7c34b
commit
3f8c9fc0fa
+13
-1
@@ -6,7 +6,7 @@ Neue Einträge oben im Abschnitt „Verlauf“ ergänzen und den Abschnitt „St
|
||||
|
||||
---
|
||||
|
||||
## Stand (2026-10-16, nach M6)
|
||||
## Stand (2026-10-17, nach den Anpassungen aus ADR 0025)
|
||||
|
||||
| Meilenstein | Status | Tag |
|
||||
| --- | --- | --- |
|
||||
@@ -17,6 +17,7 @@ Neue Einträge oben im Abschnitt „Verlauf“ ergänzen und den Abschnitt „St
|
||||
| M4 Pull und Push | fertig, CI grün | `v0.5.0` |
|
||||
| M5 Cluster und Zonen | fertig, CI grün | `v0.6.0` |
|
||||
| M6 Auslieferung | fertig, CI grün | `v0.7.0` |
|
||||
| Anpassungen nach Rückmeldung (ADR 0025: DHCP pro Adresse, DNS für dynamische Einträge, Bereichs-/Massenänderungen, Prüfung, neue Oberfläche) | fertig | `v0.8.0` |
|
||||
| M7 (Standalone, DHCPv6, DNSSEC, Discovery) | nur Schnittstellen vorbereitet (Brief §12) | – |
|
||||
|
||||
Branch `main`, alles gepusht nach `https://git.beugsiud.de/beug.k/DDI`. Releases mit Artefakten über den Release-Workflow.
|
||||
@@ -47,6 +48,7 @@ M0–M6 sind umgesetzt. Was die CI nicht abdecken kann, steht noch aus:
|
||||
14. **Schlüsselrotation unvollständig:** kein Neuverschlüsseln vorhandener Werte beim Master-Key-Wechsel; keine Rotation für Agent-CA, Bundle-Schlüssel und HA-Passwort (nur Neuanlage des Clusters). Beschrieben in `OPERATIONS.md`/`SECURITY.md`.
|
||||
15. **Installer, nicht in der CI geprüft:** `--kea-source distro` (Hooks ohne Pfad), AppArmor/SELinux im erzwingenden Modus (Container setzen sie nicht durch), echte Downloads vom Gitea-Release (die CI nutzt `--from-dir`). EL9 braucht EPEL für Kea von ISC.
|
||||
16. **Zertifikatserneuerung mit verlorener Antwort:** Agent muss neu registriert werden (`enroll --force`), beschrieben in `OPERATIONS.md` §8.2.
|
||||
17. **Messwerte nach ADR 0025 neu erheben:** Die Zahlen in `SYSTEM-REQUIREMENTS.md` stammen von vor dem Wechsel zu DHCP pro Adresse (eine voll dynamische /16 sind jetzt 65.521 Einträge mit DNS-Namen). Benchmark-Workflow `bench` erneut laufen lassen. Die IP-Liste eines Netzes blättert in 256er-Seiten statt zu virtualisieren.
|
||||
|
||||
---
|
||||
|
||||
@@ -127,6 +129,16 @@ Datenbanktests brauchen `DDI_TEST_DATABASE_URL` (z. B. `postgres://ddi:ddi-dev-o
|
||||
|
||||
## Verlauf
|
||||
|
||||
### 2026-10-17 – Anpassungen nach Rückmeldung (`v0.8.0`)
|
||||
|
||||
- **Rückmeldung des Nutzers** nach M6: Netze aufklappbar mit allen IPs; DHCP pro IP statt Pools; Oberfläche wirkt generiert; Massenänderungen; Prüfung per Ping und DNS; Zufallsname für dynamische Einträge; DNS auch für dynamische Einträge. Umgesetzt nach [ADR 0025](adr/0025-dhcp-pro-adresse-pruefungen-ui.md) mit zwei Agents (Server/Generator, Web); beide brachen einmal am Sitzungslimit ab.
|
||||
- **Modell:** `dynamic` = IP im DHCP-Bereich ohne MAC, jetzt mit A/PTR; Kea-Pools entstehen aus zusammenhängenden `dynamic`-IPs (`ipam.Ranges`). Migration 00006 wandelt Pools in Einträge um (Zufallsnamen `dyn-` + 8 Zeichen), entfernt `dhcp_pools`, neue Spalte `lease_hostname`. `configgen.SourceVersion` 3: ältere gespeicherte Eingaben erzeugen weiterhin byte-gleich (kein DNS für `dynamic`).
|
||||
- **Entscheidung (ohne Rückfrage, im Bericht an den Nutzer genannt):** Der DNS-Name gehört dem Eintrag; eine Lease ändert ihn nicht, sonst entstünde nach jeder Vergabe eine Konfigurationsänderung. Den vom Client gemeldeten Namen zeigt `lease_hostname`, per Klick übernehmbar. Client-Namen automatisch in DNS wäre Kea-DDNS (offener Punkt 11).
|
||||
- **Neue Endpunkte:** `GET /networks/{id}/ips`, `POST /networks/{id}/range` (assign/clear, Probelauf), `POST /addresses/check` (Ping über unprivilegierte ICMP-Sockets, unter Windows „nicht verfügbar“; DNS direkt an die zuständigen Server mit eigenem kleinen Client, weil der Go-Resolver `/etc/hosts` liest), Massenänderung mit `dry_run`, `set_description`, `regenerate_hostnames`.
|
||||
- **Oberfläche:** Erstmals im echten Browser angesehen (Edge per `playwright-core` aus einem Scratch-Verzeichnis, lokaler Server mit portabler PostgreSQL). Neu: Seitenleiste in Gruppen, volle Breite, dichte Tabellen, Typ-Kürzel statt Auswahlliste je Zeile, Hilfe als „?“-Popover, eine Hauptschaltfläche je Seite; aufklappbare Netze mit IP-Liste, Umschalt-Klick-Auswahl, Bereichs-, Massen- und Prüfdialog.
|
||||
- **Lehre:** Befehle mit `| tail` verschlucken den Exit-Code (ein Push und ein Lint-Lauf scheinbar erfolgreich). Prüfungen vor Commit/Push ohne Pipe ausführen oder `set -o pipefail` setzen.
|
||||
|
||||
|
||||
### 2026-10-16 – M6 Auslieferung (`v0.7.0`)
|
||||
|
||||
- Verträge vorab: [ADR 0024](adr/0024-auslieferung-installer-m6.md), gehärtete Unit-Vorlagen `deploy/systemd/*.service.in`, `scripts/render-units.sh`. Vorher per Probe-Workflow auf einem Wegwerf-Branch geprüft, dass die CI-Runner privilegierte systemd-Container starten können (Debian, Ubuntu, Rocky) und Netz zu Paketquellen, Gitea und Keygen haben. Dann drei Agents (Installer, Release/Server, Messungen/Doku); alle brachen mehrfach am Sitzungslimit ab und liefen nach `SendMessage` weiter. Installer- und Mess-Agent durften für CI-Läufe je einen eigenen Remote-Branch pushen (`m6-installer`, `m6-bench`, danach gelöscht).
|
||||
|
||||
Reference in New Issue
Block a user