Skip to content

145: Gateway bridge + internet connectivity + CLI commands#71

Merged
forkwright merged 1 commit intomainfrom
feat/akroasis-gateway
Mar 24, 2026
Merged

145: Gateway bridge + internet connectivity + CLI commands#71
forkwright merged 1 commit intomainfrom
feat/akroasis-gateway

Conversation

@forkwright
Copy link
Copy Markdown
Owner

Summary

  • GatewayBridge (bridge.rs): multi-gateway selection by priority and health rank, automatic failover with 30s cooldown, Healthy → Degraded → Offline transitions at 5s/20% loss thresholds
  • MQTT parsing (mqtt.rs): decode_service_envelope, decode_map_report, decode_proxy_message; extracts NodeNum from !hexid gateway ID strings
  • MeshCollector run loop (collector.rs): full implementation wiring transport connect, config handshake, PacketProcessor (topology + GeoSignals), discovery manager, heartbeat, gateway health monitor, router outbound flush, and graceful CancellationToken shutdown
  • Mesh CLI (mesh/mod.rs): akroasis mesh status, nodes, send, topology with comfy-table formatting; live-data helpers build_status_table / build_nodes_table for daemon integration
  • Example config (docs/akroasis-mesh.toml): annotated mesh section for ~/.config/akroasis/config.toml covering serial, TCP, PSK, store-and-forward, topology, and gateway node settings

Test coverage

238 tests across kerykeion + akroasis:

  • bridge.rs: 11 tests (gateway selection, failover, health transitions, health monitor cancellation)
  • mqtt.rs: 8 tests (ServiceEnvelope, MapReport, proxy message roundtrips, gateway ID parsing)
  • collector.rs: 13 tests (probe, packet processing, hop count, router state, flush cancellation)
  • mesh/mod.rs: 15 tests (node ID parsing, table formatting, dispatch, gateway health display)

Validation

cargo fmt --all -- --check   ✓
cargo clippy --workspace --all-targets -- -D warnings   ✓
cargo test --workspace   ✓  549 passed

Observations

🤖 Generated with Claude Code

Wire PacketProcessor, discovery, and router into MeshCollector run
loop. Add internet connectivity health checks and CLI dispatch for
gateway status, node listing, topology, and message send commands.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Gate-Passed: kanon v0.1.0 (menos, 2026-03-24T09:53:43-05:00)
Gate-Checks: audit,clippy,commitlint,doc,fmt,test
@forkwright forkwright force-pushed the feat/akroasis-gateway branch from a385d93 to ab55895 Compare March 24, 2026 14:53
@forkwright forkwright merged commit 8da4fc1 into main Mar 24, 2026
3 checks passed
@forkwright forkwright deleted the feat/akroasis-gateway branch March 24, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant