b91bac1265e7d964f9b85095c2fc64a84599395d
36 DHCP-Reservierungen wandern aus dem Pool-Fenster (.5, .8, .202-.244) in die Schema-Baender .11-.14 / .151-.176 / .177-.196. Dazu die CCU-Leiche .232 (status=waiting, last-seen=never; die CCU lebt in VLAN20) entfernt und SONOFF-NSPanelPro von einer dynamischen Lease auf .249 zu einer statischen Reservierung auf .12 gepinnt. Neuer Job `tp45-v30-leases` in gc-configplan.py. Er laedt MOVES/REMOVE/ADDS per importlib aus tp45-leases.py, statt sie zu kopieren -- die Tabelle dort ist die SSoT des Umzugs, eine zweite Kopie liefe still auseinander. Warum der Job zwei Selektor-Formen traegt: die erste Fassung schrieb ueberall `[/ip dhcp-server lease [find where ...]]`. In `[:len ...]` ist das Syntaxfehler (`expected command name (line 1 column 55)`, live gemessen) -- Golden Config meldete trotzdem Job SUCCESS und Plan Completed, das Geraet blieb unveraendert. Aufgefallen ist es an der Zahl der Log-Zeilen: von 38 `:if`-Statements hat kein einziger Zweig geloggt. Richtig ist `[/ip dhcp-server lease find where ...]` ohne Klammerpaar um `find`; die Argument-Form `set [find where ...]` bleibt. Abnahme am Geraet, nicht am Plan-Status: 39 Leases im Soll-Schema, .232 und .249 geraeumt, NSPanelPro dynamic=false; Compliance 145/145, keine Drifts. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
bf-infra
BF-Netzwerk-Infrastruktur (Caddy, AGH, MikroTik-Konfig, Dokumentation, MCPs).
Aktiver Fork von bf-network-r6 (Claude-Code-Architektur, 2025-2026), ab August 2026
unter OpenCode und anderem LLM weitergepflegt.
Master-Struktur
| Repo | Rolle | Stand |
|---|---|---|
~/dev/bf-infra/ + admin/bf-infra (Gitea) |
Aktiver Master | Remote seit 2026-08-30, main synchron — Backup-Lücke geschlossen |
admin/bf-network-r6 (Gitea) |
Archiv, historischer Master | read-only-Header, letzte aktive Commits 2026-08-25 |
admin/bf-golden-config (Gitea) |
Bot-Master (Nautobot 2×/Tag) | intended/ + backups/, nicht manuell |
admin/blaueblueten-n8n (Gitea) |
Master für terpene-Repo | aktiv, lokal synchron |
Was hier lebt
docs/teilprojekte.md— kanonische Steuerung (Ist-Stand, offene TPs, kritischer Pffad)docs/teilprojekte-archiv.md— abgeschlossene TPs (Volltext)docs/handoff-*.md— Session-Übergabencaddy/Caddyfile— Reverse-Proxy BF (siehe TP34 für Migration zu Nautobot/GC)nautobot/— Skripte + Jinja-Template für Golden Configmcp/— MCP-Server-Inventar (SSoT gegen „1000 MCP-Leichen")inventory/— entfernt 2026-08-27 (Pipeline seit 2025-06 stale; Live-Daten via MikroMCP/CF/Portainer)
Status (2026-08-27)
- L3 + WAN-Edge =
crs326-core, alle 4 MikroTik auf RouterOS 7.24 (TP27) - Firewall deny-by-default seit 2026-08-18 (TP5)
- WLAN via CAPsMAN auf dem Core seit 2026-08-17 (TP28)
- Compliance 104/104 grün, 0 Drifts (Golden Config, TP22)
- AdGuard-Paar
agh-bf1/agh-bf2aufgebaut, DHCP noch nicht umgestellt (TP23 Stufe 2 / TP31 Schritt 4) - Caddyfile Reverse-Proxy seit 2026-08-25 (TP31), 16 Sites BF-intern
- terpene.teilzeitladen.xyz: Worker läuft auf Mac mini (10.40.20.167:8890), kein Caddy-Block, kein CF-Tunnel — Backfill via DB-Migration blockiert (Handoff 2026-08-27)
Übergangspfad von bf-network-r6 → bf-infra
- README + Strukturen aktualisiert (dieses File)
- bf-network-r6 im Gitea auf read-only, Header mit Verweis (deine Aktion)
- Inventar-Pipeline gelöscht (XLSX stale, MikroMCP/CF/Portainer liefern Live)
- Caddyfile-Master wandert zu Nautobot/GC (TP34, siehe Handoff 2026-08-27)
- bf-infra bekommt Gitea-Remote (offen, „später")
Werkzeuge (Stand 2026-08-27)
- MikroMCP (RouterOS, 4 Geräte) —
~/.claude.json+opencode.jsonc - pve-mcp (Proxmox, 10.40.20.173) —
opencode.jsonc - home-assistant (HA, 10.40.20.105) —
opencode.jsonc - cloudflare (CF-API, OAuth) —
opencode.jsonc - gitea-mcp (FQDN) —
opencode.jsonc - komodo-mcp (geplant, Migration von Portainer) —
~/dev/bf-infra/mcp/komodo/ - shelly-mcp (Client-lokal Interim, 127.0.0.1:3030) — vor Migration auf zentralen Container
Description
BF-Infrastruktur (Fork von bf-network-r6): MikroTik, Caddy, AGH, Nautobot/GC, MCPs. Master seit 2026-08-27.
Languages
Python
57.9%
RouterOS Script
33.8%
Jinja
6.6%
Shell
1.7%