DOCS crates
Support# Crate & Codebase Reference The Bauxite Mesh project is organized as a Rust workspace with several specialized crates. This modular architecture allows for clear separation of concerns between the core networking engine, the edge agent, and various extensions. ## Core Crates ### `bauxite-proto` Protobuf definitions and generated gRPC stubs for the Bauxite protocol. Used by all other crates for inter-service communication. - **Output**: Library (`lib.rs`). ### `bauxite-conduit` The heart of the system. This crate contains the foundational networking logic, security primitives, and state management. - **Key Modules**: `network` (DataPlane, ICE, signaling, discovery, eBPF, ML sidecar, telemetry, policy, TLS, Kyber), `identity` (CSR generation, node identity), `device` (TUN, Shared Memory, secure channel, discovery), `ebpf`, `ipc_bypass`, `node` (scheduler, session manager, peer registry, hub connector, metrics, TUN controller). - **Output**: Library (`lib.rs`). ### `bauxite` The primary edge executable. It wraps `bauxite-conduit` and provides the CLI and service management. - **Key Modules**: `commands` (Join, Bridge), `services` (IPC, Debug, ROS, WebSocket server, intent gRPC, IPC bypass, jamming, citadel loader, discovery parser), `signaling`, `policy`, `telemetry`, `bootstrap`. - **Output**: Binary (`main.rs`) + Library (`lib.rs`). ## Extension Crates ### `bauxite-citadel` Provides specialized support for ROS 2 and DDS. - **Features**: FastDDS Discovery Server management, Zenoh-DDS bridging, ROS-specific telemetry. - **Output**: Library (`lib.rs`). ### `bauxite-dispatch` A specialized crate for high-level message routing and Data Loss Prevention (DLP). - **Key Modules**: `db` (Local persistence via SQLite/SQLx), `dlp` (Sensitive data filtering), `auth`, `registry`, `services` (mesh, admin, policy, signaling, telemetry, audit). - **Output**: Binary (`main.rs`). ### `bauxite-forge` Enterprise-grade cryptographic and hardware security primitives. - **Key Modules**: `crypto` (TPM 2.0 binding via `tss-esapi`, Kyber post-quantum), `ebpf` (enterprise eBPF extensions), `ota` (Over-the-air update manager, client, archive, rollback, restart, state). - **Output**: Library (`lib.rs`). ### `bauxite-android` Contains JNI bindings and sensor integration for running Bauxite Mesh on Android-based edge devices. - **Key Modules**: `lidar`, `sensors`. - **Output**: Library (`lib.rs`, crate-type: `cdylib`). ## Project Layout - `crates/`: Open-source workspace crates (`bauxite-proto`, `bauxite-conduit`, `bauxite-citadel`, `bauxite`). - `bauxite-enterprise/crates/`: Proprietary commercial crates (`bauxite-forge`, `bauxite-android`, `bauxite-dispatch`). - `xtask/`: Build automation and development tasks. - `docs/`: Markdown-based documentation (Diátaxis structure). - `scripts/`: Integration test and utility scripts. - `Dockerfile` / `Dockerfile.release`: Production image definitions using multi-stage builds. - `docker-compose.yml`: Local simulation and development environment. - `Cross.toml`: Cross-compilation configuration via `cross`.