Damit du nicht blind kaufst: Hier sind Original-Ausschnitte aus drei der fünf Templates — genau so, wie sie im ZIP liegen.
Jede Neuanlage endet mit dieser Checkliste — copy-paste ins Ticket oder in die Agenten-Session:
[ ] Registry frisch regeneriert, VMID + IP daraus, mehrstufiger Duplikat-Check §1.3 gelaufen
[ ] Name nach Schema §2, description-Block gesetzt, Tags = <ip>;<bereich>;<rolle>;<lifecycle>,
guest-map.txt ergänzt + Resource Pool zugeordnet
[ ] net0: statische IP, GW passend zum Node, MTU (zweistufig!), firewall final, kein ip6
[ ] unprivileged=1 / agent=1 (VM: `qm agent <id> ping` antwortet!), onboot=1, Sizing-Tier begründet
[ ] Egress-Test (ping + HTTP 80/443) + MTU-Test (ping -M do mit Grenzgrößen)
[ ] DNS-Test: FQDN gegen ALLE autoritativen NS, kein stale AAAA
[ ] TLS-Test bei Public-Diensten: curl -sSI von extern, Cert-Kette + Ablauf ok
[ ] Backup-Klasse eingetragen + erster Lauf ok; DB-Dienst → zusätzlich §5a-Dump eingerichtet
[ ] Monitoring-5 eingebunden (je ein konkreter Nachweis)
[ ] IP-Registry aktualisiert + Changelog-Eintrag (→ Template 04)
Der Kern der Verwaisungs-Erkennung: Welche Gäste hatten echten Service-Traffic — Monitoring und SSH zählen bewusst nicht:
# Admin-/Monitoring-Verkehr, der NICHT als Nutzung zaehlt (in /etc/orphan-scan.env anpassen): EXCL_DPORT=${EXCL_DPORT:-'^(22|161|9100)$'} # SSH, SNMP, node_exporter EXCL_SRC=${EXCL_SRC:-'^$'} # Monitoring-/Gateway-Quellen # ---- Gastliste: laufende LXC + VMs, IP aus dem IP-Tag ---- guest_list() { # gibt "vmid typ name ip" aus; ip=- wenn kein IP-Tag pct list 2>/dev/null | awk 'NR>1 && $2=="running"{print $1" lxc "$3}' | while read -r id t name; do ip=$(pct config "$id" 2>/dev/null | sed -n 's/^tags: //p' | tr ';' '\n' \ | grep -m1 -E "^${IP_PREFIX}" || echo -) echo "$id $t $name $ip" done ... }
Das Audit-Gate im Deploy brach fleet-weit mit HTTP 410: npm hat die Legacy-Audit-Endpoints abgeschaltet.
Warum: Erste Reaktion war „dann nehmen wir das Gate halt raus, blockt ja alles." Genau dieses Gate hätte zwei Monate vorher den Einsatz einer Bibliothek mit bekannter RCE verhindert. Ein Gate, das nervt, tut seinen Job.
So wendest du es an: Gate durch repo-versioniertes Skript gegen den Bulk-Advisory-Endpoint ersetzen (fail-closed — kein Ergebnis = kein Deploy). NIE ein Security-Gate „vorübergehend" deaktivieren.
00-README.md Einführungs-Fahrplan (5 Wochen), Zielgruppe, Support 01-vm-container-standard.md VMIDs, IP-Registry, Naming/Tags, Sizing, Backup, DoD 02-golive-security-checkliste.md Härtung, Uploads, Dependency-Gates, Monitoring-5 03-orphan-scan/orphan-scan.sh Verwaisungs-Erkennung (conntrack + TTL) 03-orphan-scan/README.md Installation, Cron, Tuning, Grenzen 04-incident-memory-struktur.md Ein Fakt pro Datei, Index, Changelog, Decision-Log 05-agenten-betrieb/README.md Konzept: Agenten sicher auf Infrastruktur 05-agenten-betrieb/AGENTS.md-vorlage.md Repo-Ebene: Arbeitsregeln + DoD 05-agenten-betrieb/CLAUDE.md-vorlage.md Global: harte Guardrails 05-agenten-betrieb/preflight-prompt.md 7 Fragen vor jeder Änderung 05-agenten-betrieb/eskalationsregeln.md 4 Stufen: autonom → Mensch-Pflicht CHANGELOG.md · LICENSE.md Versionen · LizenzstufenZurück zum Pack — ab 79 €