tractor/tractor
Gud Boi ee3cc24657 Add explicit `verify_wg_peer()` inspection
Validate a declared tunnel key against one `pyroute2` snapshot
containing the iface's own key and configured peers.

Deats,
- share worker offload across all WireGuard key readers
- forward `WGTunnelSpec.iface` and `.netns` to the read
- reject malformed declarations before netlink I/O
- export the async helper and cover local, peer and absent keys
- replace multihost's `wg show` subprocess probe

Prompt-IO: ai/prompt-io/opencode/20260822T023226Z_59a8ecfd_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-29 22:00:29 -04:00
..
_testing Make UDS reaping platform-aware 2026-08-14 10:36:27 -04:00
devx Fix `pformat_caller_frame()`s bogus `indent` kwarg 2026-08-18 20:13:07 -04:00
discovery Add explicit `verify_wg_peer()` inspection 2026-08-29 22:00:29 -04:00
experimental Reap the `@pub` example daemon on stream exit 2026-08-25 20:03:18 -04:00
ipc Emit canonical tagged addresses 2026-08-29 22:00:16 -04:00
msg Emit canonical tagged addresses 2026-08-29 22:00:16 -04:00
runtime Remove `run_in_actor()` + the ria reap cluster 2026-08-25 19:16:32 -04:00
spawn Remove `run_in_actor()` + the ria reap cluster 2026-08-25 19:16:32 -04:00
to_actor Remove `run_in_actor()` + the ria reap cluster 2026-08-25 19:16:32 -04:00
trionics Reject concurrent `BroadcastReceiver.receive()` calls 2026-08-27 22:11:55 -04:00
__init__.py Add `tractor.to_actor` one-shot task API subpkg 2026-08-21 15:03:34 -04:00
_child.py Add per-actor `setproctitle` via `devx._proctitle` 2026-06-17 17:39:44 -04:00
_clustering.py Use `.aid.uid` to avoid deprecation warns 2026-03-13 21:10:52 -04:00
_code_load.py Mv `load_module_from_path()` to a new `._code_load` submod 2026-02-11 21:03:29 -05:00
_context.py Remove `run_in_actor()` + the ria reap cluster 2026-08-25 19:16:32 -04:00
_exceptions.py Remove `run_in_actor()` + the ria reap cluster 2026-08-25 19:16:32 -04:00
_root.py Peel tunnels before `Endpoint` binding 2026-08-29 22:00:16 -04:00
_streaming.py Clean broadcast cancellation diagnostics 2026-08-27 21:18:00 -04:00
log.py Retain dynamic logger caller discovery 2026-08-12 20:52:47 -04:00
to_asyncio.py Clean broadcast cancellation diagnostics 2026-08-27 21:18:00 -04:00