|
Stage-3 review sweep C+D: Model B two-root reshape + SEC-010 hardening
Phase C (Model B reshape, D-123 operator ruling): - outer root (opentofu/main.tf): vvr1-dc0 resized to whole-DC containment VM (108 vCPU / 425984 MiB / 3221225472000 bytes; expose_nested_virt=true; single Office1 transit leg); node/plane/wan/opnsense modules removed from vcloud level (MOVED markers), storage-04 added per R-3. - inner root (opentofu/vr1-dc0-substrate/): NEW second root, provider qemu+ssh to vvr1-dc0; reuses ../modules/* verbatim to build 9 nodes + 6 planes + wan + opnsense inside the containment VM. dmacvicar/libvirt 0.9.8 pinned (.terraform.lock.hcl committed). Both roots tofu-validate. - variables.tf: vvr1_dc0_vcpu/memory_mib/disk_bytes with derivation comment. Phase D (SEC-010, R3-F02): site-headend-install.sh --host-nodes node-host bootstrap installs qemu-kvm+libvirt, persists+verifies nested=1, writes a transit FORWARD-drop (nftables inet sec010) enforcing DC-LOCAL under Model B. Gate hardened (advisor catch): --check now verifies the keyed transit interface EXISTS, else nftables oifname loads clean but matches nothing (fail-open). Harness 49/49. Records: D-103/107/114/121/122/123/124 amendments (append-only); model-a-fallback-plan synced; ledgers + Phase-C changelog. KNOWN GAP (OBS-3, operator-confirmed 2026-07-16): under Model B the inner vr1-dc0-wan NAT is nested inside vvr1-dc0 (single transit NIC), severing the simulated-ISP egress that Model A had at vcloud level. DC0/DC1 ARE meant to have ISP connections -- egress path resolution is follow-up design work, not resolved by this commit. Present-only; not pushed. Gauntlet ALL GREEN (63); repo-lint 0 fail. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ck6xh3jWQi5b3Su8Dx1LEH |
|---|
|
|
| docs/changelog-20260716-review-sweep-phaseC.md 0 → 100644 |
|---|
| docs/design-decisions.md |
|---|
| docs/model-a-fallback-plan.md |
|---|
| docs/security-ledger.md |
|---|
| docs/session-ledger.md |
|---|
| opentofu/main.tf |
|---|
| opentofu/modules/maas-vm-host/main.tf |
|---|
| opentofu/variables.tf |
|---|
| opentofu/vr1-dc0-substrate/.terraform.lock.hcl 0 → 100644 |
|---|
| opentofu/vr1-dc0-substrate/main.tf 0 → 100644 |
|---|
| opentofu/vr1-dc0-substrate/variables.tf 0 → 100644 |
|---|
| opentofu/vr1-dc0-substrate/versions.tf 0 → 100644 |
|---|
| runbooks/dc-dc-phase2-tofu-dc-substrate.md |
|---|
| scripts/site-headend-install.sh |
|---|
| tests/site-headend-install/run-tests.sh |
|---|