Official Rust SDK for Treblle. Treblle makes it super easy to understand what's going on with your APIs and the apps that use them.
graph TD
A[treblle-core] --> B[treblle-axum]
A --> C[treblle-actix]
A --> D[treblle-rocket]
A --> E[treblle-traefik-wasm]
treblle-core: Core functionality and shared componentstreblle-axum: Integration for the Axum web frameworktreblle-actix: Integration for the Actix-web frameworktreblle-rocket: Integration for the Rocket web frameworktreblle-traefik-wasm: WASM plugin for Traefik
Each middleware must:
- Intercept HTTP traffic non-intrusively
- Process only
application/jsoncontent on non-ignored routes - Extract and mask sensitive data before sending to Treblle API
- Send data to Treblle asynchronously (fire-and-forget)
- Never modify original request/response data
- Handle errors gracefully without impacting main flow
- Rust 1.82+ (MSRV)
- Docker (for integration tests)
- Make (optional for DX, but recommended)
Build all packages
cargo buildBuild specific package
cargo build -p treblle-coreRun all tests
make testRun specific test suite
make test-core
make test-axum
make test-actix
make test-rocket
make test-wasmRun monitoring & metrics infrastructure first
cd tests
make monitoringRun specific test suite
cd tests
make test-core
make test-axum
make test-actix
make test-rocket
make test-wasm- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Run
cargo fmtbefore committing - Run
cargo clippyto catch common mistakes and improve code quality - Add tests for new features
- Update documentation when changing public APIs