# Backlog — Offene Punkte, Ideen & Fragen

**Stand:** 2026-04-21

---

## Terminierte Aufgaben

| # | Was | Termin | Prio | Status |
|---|-----|--------|------|--------|
| 1 | **Peer-Check scharf schalten** — `PEER_DRY_RUN=false`, vorher Chaos-Test (iptables-Simulation) | 2026-04-30 | Hoch | Offen |
| 2 | ~~**Server .2 rebooten**~~ — Kernel 6.8.0-88 → 110. Reboot durchgelaufen, v1.9-Access-Log-Filter live validiert (300s Quiet Clean-Run, 204 Records bei Restore, 0 missing). S1 wieder in Rotation | 2026-04-17 | Hoch | **Erledigt 2026-04-17** |
| 15 | ~~**Restart-Detection v2.0**~~ — `systemctl is-system-running` Check in `do_drain()` + quiet-mode in `do_restore()`. `systemctl restart dns-maintenance.service` loest keinen Drain mehr aus; kein Info-Slack-Alert bei No-Op-Restore. Incident-getrieben nach P5-Rollout (5× paralleler Drain, 172-204 Records je Server kurzzeitig aus CF entfernt, Emergency-Recovery mit Race-Condition auf HEL -- Cloudflare Code 81058 49x). Commits `b86851a` + `18de20a` + Doku `c8fcafe` | 2026-04-21 | Hoch | **Erledigt 2026-04-21** |

## Alerting & Webhooks

| # | Was | Prio | Status |
|---|-----|------|--------|
| 3 | **Slack Webhook konfigurieren** — `ALERT_WEBHOOK_SLACK` in `/etc/environment` auf allen 5 Servern. Bugfix: Scripts sourcen jetzt selbst `/etc/environment` (interaktive SSH hatte Variable nicht). Error-Logging bei HTTP-Fehler. `test-webhook` Subcommand. | Hoch | **Erledigt 2026-04-16** |
| 4 | **Canari.me Webhook** — `ALERT_WEBHOOK_CANARI` in `/etc/cert-pki/alerting.env` (0600), Fallback `/etc/environment`. Dienst noch in Entwicklung. Variable ist im Script vorbereitet, wird uebersprungen wenn leer | Mittel | Wartend auf canari.me Launch |
| 5 | **New Relic Alert Policies** — 10 NRQL-Queries vorbereitet in [NEWRELIC-ALERTS.md](NEWRELIC-ALERTS.md), muessen in NR UI eingetragen werden | Mittel | Queries fertig, NR-UI-Einrichtung offen |
| 16 | ~~**Webhook-Secrets nach `/etc/cert-pki/alerting.env` (0600) [P5]**~~ — Slack/Canari-Webhook-URLs aus world-readable `/etc/environment` rausgezogen. Alle Scripts sourcen jetzt bevorzugt `/etc/cert-pki/alerting.env`, Fallback `/etc/environment`. verify-deployment Check 21 prueft Existenz + Permissions. Commit `53f31f7` | Hoch | **Erledigt 2026-04-21** |

## Infrastruktur-Aufraumen

| # | Was | Prio | Status |
|---|-----|------|--------|
| 6 | ~~FIPS-Pakete entfernen~~ auf .3-.6 | Niedrig | **Erledigt** (bei apt-upgrade mitentfernt) |
| 7 | ~~lsyncd: downloads/ Exclude~~ | Niedrig | **Erledigt 2026-04-16** |
| 8 | ~~NEWRELIC.md auf .3-.6 redaktieren~~ | Niedrig | **Erledigt** (bei rsync mit verteilt) |
| 17 | ~~**Doc-Duplikate-Cleanup**~~ — 28 top-level `*.md` Duplikate (bit-identisch zu `docs/*.md`) + `archive/` (4 Session-Logs) + top-level `ssl-labs-results/` (7 JSONs, identisch zu `docs/ssl-labs-results/`) + `docs/CLAUDE.md` (stale Snapshot von top-level `CLAUDE.md`) + `docs/archive/` (Session-Log) von allen 5 Servern entfernt. Clean-state, keine Duplikat-Verzeichnisse mehr | Niedrig | **Erledigt 2026-04-21** |
| 18 | ~~**verify-deployment Check-Konsolidierung [P6]**~~ — 21→28 Checks: doppelten Check 18 (dns-maintenance.sh checksum, frueher als #2 `executable` und #18 `checksum` doppelt) konsolidiert; neu hinzugefuegt: ALERT_WEBHOOK_SLACK (env/perms), verify-deployment.timer, time-sync, live-TLS-handshake, disk/mem/cpu Thresholds, cloudflared-tunnel readyConnections. Commit `b86851a` | Niedrig | **Erledigt 2026-04-21** |

## Ideen / Zukunft

| # | Was | Nutzen |
|---|-----|--------|
| 9 | **NR Custom Parsing Rules** fuer mTLS-Apache-Felder (SSL_CLIENT_*, %D Response-Time) | Response-Time-Dashboards direkt in NR |
| 10 | **NR Synthetic Monitoring** — externe Probes auf Endpoints | Erkennt Ausfaelle die Peer-Check nicht sieht |
| 11 | **ANSI-Farbcodes entfernen** aus dns-maintenance Syslog-Output | Saubere Logs in NR + Wazuh |
| 12 | **dns-maintenance.sh als apt-Paket** | Sauberes Versioning, automatische Updates |
| 13 | **PagerDuty Integration** — `ALERT_WEBHOOK_PAGERDUTY` als dritter Kanal | Eskalation bei kritischen Alerts |
| 14 | **Fixed-IP Server Redundanz** — zweiter Server pro Dienst oder Migration ins Cluster | Eliminiert letzten SPOF |
| 19 | **Config-Deployment-Drift-Check** — verify-deployment soll detektieren wenn `/etc/systemd/system/*.conf`-Dateien ein mtime haben das vor dem letzten Commit liegt der sie beeinflusst. Motivation: Der Silent-Failure auf .6 am 2026-04-20 16:19 passierte weil Commit `28f15d7` (OnFailure-Failsafe) bereits in git war, aber `onfailure.conf`/`timeout.conf` erst am 2026-04-21 09:36 auf Disk ankam -> 17h Luecke zwischen "committed" und "deployed" | Detektiert "committed-but-not-deployed" Drift |

## Offene Fragen

| # | Frage | Kontext |
|---|-------|---------|
| ~~Q1~~ | ~~Welcher Slack Workspace/Channel fuer Alerts?~~ | **Obsolet 2026-04-21:** Webhook laeuft, Channel implizit entschieden |
| Q2 | Wann ist canari.me verfuegbar? | Webhook-Variable ist vorbereitet |
| ~~Q3~~ | ~~Soll PagerDuty zusaetzlich zu Slack?~~ | **Gestrichen 2026-04-21:** nicht mehr relevant |
| Q4 | Fixed-IP-Server: Migration ins Cluster oder zweiter Server? | Architektur-Entscheidung fuer Bund/BW-Redundanz |
