TP48 — Recovery-Lücke: Nicht-GC-Objekte + Evaluation Ansible als Nautobot-Ablösung #75
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Anlass
Beim Abschluss von TP10 (DDNS-Updater, 2026-10-05) fiel auf: der Updater lebt als
/system script+ DHCP-Client-script-Trigger aufcrs326-core— in keinem Template. Ein Recovery von null hätte ihn nicht. Das ist keine Einzelerscheinung, sondern eine systematische Klasse: Objekte, die auf dem Gerät existieren, aber in keinem Soll stehen und von keiner ComplianceRule bewacht werden.Der Befund ist zugleich der Anlass für eine größere Frage: kann Ansible Nautobot als SSoT vollständig ablösen? Christoph-Anforderung (2026-10-05): „ansible ist durchaus eine option wert! wäre ansible in der lage, nautobot vollständig als ssot abzulösen. 1 tool für doku/deployment und nicht mehrere. und was ich auch gerne sehe: keine indiv-anpassungen falls einfach vermeidbar."
Teil 1 — Die Recovery-Lücke (Inventur)
Ist-Stand auf
crs326-core(live geprüft 2026-10-05):tp10-ddns-bf4client1script=tp10-ddns-bf4/system script environment cfDdnsToken/system script environment CFWanIP4Curtp21-dhcp-restore,tp21-wan-wg-restore,enable-dhcp-servers,show-state,dns-test,fetch-test,check-dhcp,envtest)/system scheduler🔴 Nebenbefund, eigener Wert:
tp21-wan-wg-restoreträgt den WG-Hub-Privkey im Klartext im Skript-Körper:private-key="9AFGAWR52MqhSizFwdI4RQX/aGpk3gnzka46oVvFfcU="Das ist der Typ Secret, den TP22-Regel 1 schützt. Das Skript liegt nicht im Git (lebt nur auf dem Gerät), aber es ist ein Recovery-Pfad, den niemand dokumentiert hat. Aufnehmen, nicht sofort anfassen (Christoph-Entscheid 2026-10-05) — die Entscheidung (Skript härten? löschen? Secret nach
/system script environmentwie beicfDdnsToken?) fällt mit der vollständigen Liste.Warum die Lücke unsichtbar ist: Golden Config prüft 29 ComplianceFeatures (live gelesen) —
bridge-port,ip-firewall-nat,wifi-*… — keines deckt/system script,/system scheduleroder/system script environment. Und die Compliance-Zahl läuft überconfig_replace-Maskierung (7 Regeln für Passphrase/Privkey/Password/Secret) — geprüft wird nur, was gerendert wird. Was nicht gerendert wird, ist per Definition nicht „drift".🟡 Offene Inventur-Frage (nicht geraten): Gibt es weitere nicht-gerenderte Sektionen auf den anderen Geräten (ap1/ap2/ap3/branch)? Diese Session hat nur
crs326-coregeprüft. Teil der Arbeit.Teil 2 — Die Evaluation: Ansible als Nautobot-Ablösung?
Was Nautobot heute tatsächlich leistet (live gemessen, nicht angenommen):
--checkals Drift-Erkennungansible.netcommongather_facts/backup🔴 Der entscheidende Befund für die Bewertung: Nautobot ist heute schon nur teilweise SSoT. Live gezählt:
obj.interfaces.all(),ip_addresses.all(),config_context.dhcp_leases,config_context.firewall_filter.bridge-port-Zeilen, 19bridge-vlan-Zeilen, die komplette Core-Firewall, NAT/Mangle/Queue/Routen.⇒ Ein Ablöse-Vergleich führt also nicht „Ansible vs. volle Nautobot-SSoT", sondern „Ansible vs. Jinja-im-Repo + Gitea + ein paar Nautobot-Felder". Das verschiebt die Frage: Nautobot liefert weniger, als der Name SSoT vermuten lässt — die Templates sind zu großen Teilen ohnehin Handarbeit im Repo.
Zu klären in der Session:
ether2in VLAN1) mit Ansible sauberer oder chaotischer würden.Abgrenzung
teilprojekte.mdKopf) — bei einem Trägerwechsel wäre sie neu zu fassen.Status
Erst Inventur + Evaluation, kein Umbau. Ergebnis der Session = eine Empfehlung mit belegten Zahlen, keine fertige Migration.
Prosa-Abschnitt folgt in
docs/teilprojekte.md.