Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Building from Source

Prerequisites

Install the Rust toolchain via rustup:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Meridian targets stable Rust (edition 2021). No nightly features are required for the proxy itself (nightly is only needed for fuzzing).

Build Commands

# Debug build (faster compilation, slower runtime)
cargo build

# Release build (optimized)
cargo build --release

# Build just the proxy binary
cargo build --release -p meridian-proxy

The release binary is at target/release/meridian.

Workspace Structure

Meridian is organized as a Cargo workspace with three crates:

elote/
  meridian-core/       # Library — all domain logic
  meridian-proxy/      # Binary — orchestration shell
  meridian-bench/      # Benchmarks — Criterion suites
  fuzz/                # Fuzzing harness — libfuzzer targets
  docs/                # This book

Rule: core owns all logic. The proxy crate is a thin orchestration shell. Domain logic (parsing, load balancing, circuit breaking, filtering) lives in meridian-core.

Verify the Build

# Run all tests
cargo test --workspace

# Check for warnings
cargo clippy --all-targets -- -D warnings

# Check formatting
cargo fmt --check

All three checks must pass before any commit.