feat(beacon-relay): Rust v2 gateway skeleton — iteration 1 (health check)#103
Draft
feat(beacon-relay): Rust v2 gateway skeleton — iteration 1 (health check)#103
Conversation
…dpoint
- axum 0.8 + tokio HTTP server serving GET /healthz -> {"status": "ok"}
- Figment-based config (TOML + APP_ env vars with __ separator for nesting)
- Structured tracing with pretty/JSON output modes
- Graceful shutdown on SIGTERM/SIGINT
- Integration tests: healthz 200 + unknown route 404
- AGENTS.md with Rust dev standards for AI agents
- .github/instructions/rust.instructions.md Copilot path instructions
- GitHub Actions CI: build, test, clippy, fmt check with Swatinem rust-cache
LCOV of commit
|
…n.md - Add Rust/beacon-relay terms (clippy, serde, thiserror, healthz, etc.) - Add crypto/protocol terms (CBOR, HMAC, SETNX, keypair, etc.) - Add infra terms (Memorystore, Keymaster, Magisk, Frida, etc.) - Add auth-design.md to repository
…c specification - Delete root auth-design.md (moved to beacon-relay) - Update AGENTS.md to reference new GATEWAY-SPEC.md in beacon-relay directory - Specification is now focused on gateway implementation without legacy system comparisons - Add GATEWAY-SPEC.md to .gitignore in beacon-relay (keep local only for now)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces
beacon-relay, the Rust-based v2 gateway for the Nodle DePIN network described inauth-design.md.This is iteration 1: a minimal, production-grade scaffold serving a single health check endpoint. The structure is intentionally forward-compatible so future iterations can add BLE scan ingestion, device heartbeats, and authentication without restructuring.
What's in this PR
beacon-relay/— Rust crateGET /healthz→{"status": "ok"}config/default.toml+APP_env vars (__separator for nesting)tracing+tracing-subscriber;pretty(dev) orjson(prod) formatbeacon-relay/AGENTS.mdComprehensive AI agent standards for this crate: build commands, project structure, approved dependency table, coding standards.
.github/instructions/rust.instructions.mdCopilot path-scoped instructions applying to
beacon-relay/**/*.rsandbeacon-relay/Cargo.toml..github/workflows/beacon-relay-ci.ymlCI pipeline on every push touching
beacon-relay/and on PRs tomain:cargo build --lockedcargo test --lockedcargo clippy --locked -- -D warningscargo fmt --checkSwatinem/rust-cache@v2for fast subsequent buildsNext iterations (not in this PR)
/metrics)