forked from heavy-duty/box
The box-to-box drop shipped, the drill still found boxes reaching each other, and the rule was simply not on the host. setup-host.sh ended with 'systemctl enable --now claudebox-firewall.service' — but the unit is RemainAfterExit, so once it has run it stays "active" forever, and '--now' does nothing to an active unit. Re-running setup-host after upgrading claudebox therefore installed the new script to /usr/local/sbin and never executed it. The host silently kept its old firewall, and the box-to-box hole stayed open through the release that claimed to close it. This is worse than the original bug: every future firewall change would have landed only on hosts that had never run setup-host before. Restart the unit instead — the script is idempotent by design. Then ASSERT the rule is live rather than assume it, because the absence of this particular rule is invisible: everything keeps working and boxes can simply reach each other. doctor.sh checks it too. Also: dns.mode=none is now part of the shipped stack, so the drill must stop treating it as leftover rehearsal dirt and reverting it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| claudebox-firewall.service | ||
| claudebox-firewall.sh | ||
| setup-host.sh | ||
| teardown-host.sh | ||