Add Unix domain control socket for runtime observability

Add a Unix domain socket interface for querying node state at runtime.
A spawned tokio task accepts connections and communicates with the main
event loop via mpsc/oneshot channels, keeping all Node access
single-threaded.

Includes:
- src/control/ module with socket lifecycle, JSON protocol, and 11
  query handlers (status, peers, links, tree, sessions, bloom, mmp,
  cache, connections, transports, routing)
- Separate fipsctl binary for CLI queries (fipsctl show <command>)
- ControlConfig in node configuration (enabled, socket_path)
- Integration into the main select! event loop
This commit is contained in:
Johnathan Corgan
2026-02-22 20:53:00 +00:00
parent 92d5df8037
commit 0a6d433d32
12 changed files with 980 additions and 3 deletions
Generated
+1
View File
@@ -543,6 +543,7 @@ dependencies = [
"rtnetlink",
"secp256k1",
"serde",
"serde_json",
"serde_yaml",
"sha2",
"simple-dns",