boma/docs
sjat 24a1d909c9 docs(spec): mesh-hardening 2/3 — ubongo INPUT-only default-deny
Sub-project 2 of the mesh-hardening follow-on (the post-incident roadmap
ordering puts ubongo first). Harden the control node's inbound surface via
base's nftables firewall as INPUT-only default-deny: the forward chain stays
permissive (new base__firewall_input_only knob) so Docker egress + the
libvirt-NAT integration harness keep working, and there is no sshd ListenAddress
change — sidestepping the ip_nonlocal_bind boot-race that sank askari. SSH
allowed from wt0, ssh-from-control (Ansible self), and mamba on the LAN (new
base__firewall_admin_addrs). Harness-validated before an operator-supervised
cutover; the physical console is the permanent break-glass.

Design maps to the four relevant 2026-06-17 incident lessons (FRICTION signals
1/2/3/6).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 09:12:58 +02:00
..
access docs(access): correct ADR-021 governance (runbook+gate, not scaffold) 2026-06-09 17:52:24 +02:00
backup docs(backup): add BACKUP.md template + backup__* contract (ADR-022) 2026-06-10 11:20:01 +02:00
decisions fix: address final whole-branch review findings 2026-06-18 21:52:28 +02:00
hardware docs: wire ADR-025 into testing/control-host/risks/status/capacity 2026-06-18 12:51:22 +02:00
reviews docs(review): 2026-06-14 repo audit — M4a doc drift + Traefik→Caddy lag 2026-06-14 18:37:54 +02:00
runbooks docs(runbook): netbird-client mesh-drop / DNS troubleshooting 2026-06-18 22:30:41 +02:00
security docs(adr/security): record claude NOPASSWD sudo model (ADR-015 amend + R7) 2026-06-18 21:39:20 +02:00
superpowers docs(spec): mesh-hardening 2/3 — ubongo INPUT-only default-deny 2026-06-19 09:12:58 +02:00
testing docs(kaizen): bind-mount gotcha + consume 7 signals into the ledger (2026-06-17) 2026-06-17 17:50:17 +02:00
CAPABILITIES.md docs: reconcile 2026-06-14 review findings (O1-O7,O18,O22) 2026-06-14 19:06:33 +02:00
FRICTION.md docs(friction): capture 9 signals from the ADR-025 harness shakedown 2026-06-18 16:30:13 +02:00
README.md docs: reconcile lower-severity review findings (O9-O24) 2026-06-14 19:31:40 +02:00
ROADMAP.md docs(roadmap): Phase 1 complete — point Next step at mesh-hardening follow-on 2026-06-17 18:39:08 +02:00
TODO.md docs(adr/status): integration-testing harness RED→GREEN validated (ADR-025) 2026-06-18 21:39:30 +02:00

docs/

Project documentation.

  • decisions/ — Architecture Decision Records (ADRs): the "why" behind the design. Numbered from 001; each records context, the decision, and what was ruled out.
  • runbooks/ — step-by-step operational procedures (add a host, add a role, rotate secrets).
  • security/ — security baseline, accepted-risk register, per-service checklist + template (ADR-002/004).
  • testing/ — testing methodology artifacts + the VERIFY.md template (ADR-008/017).
  • access/ — operational-access doctrine + the ACCESS.md template (ADR-021).
  • backup/ — backup doctrine + the BACKUP.md template (ADR-022).
  • hardware/ — capacity reference + /capacity-review output (ADR-012).
  • reviews//review-repo audit trail.
  • CAPABILITIES.md / ROADMAP.md / TODO.md / FRICTION.md — what boma does, the build order, the backlog, and recurring-friction notes.

For what is actually built vs only designed, see STATUS.md at the repo root — the ADRs describe intent, not necessarily current reality.