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`.