IronBabel is a protocol bridge, not just an API gateway. It connects HTTP APIs to gRPC, GraphQL, WebSockets, MQTT, AMQP/RabbitMQ, and ZeroMQ in one lightweight runtime.
- Protocol translation between:
- REST/HTTP ↔ GraphQL
- REST/HTTP ↔ gRPC
- HTTP ↔ AMQP publish/consumer webhook flows
- WebSockets ↔ HTTP/SSE
- WebSockets ↔ REST polling
- HTTP ↔ MQTT publish/webhook flows
- Automatic schema discovery and generation
- Request/response transformation
- Developer-friendly configuration
- Comprehensive monitoring and metrics via built-in admin dashboard
- Advanced features like rate limiting and circuit breaking
The built-in admin dashboard is available at http://<host>:<port>/admin/ and provides real-time request metrics, latency percentiles, error rates, per-route stats, and a draft configuration editor with transport templates for common route and listener setups.
The project is organized into several key components:
config/: Configuration managementcore/: Core gateway functionalitygateway/: Protocol-specific gateway implementationsprotocols/: Individual protocol implementationsschema/: Schema management and generationtransform/: Data transformation utilitiesutils/: Common utilities and helpers
- Ensure you have Rust installed (version 1.75 or later)
- Clone the repository
- Build the project:
cargo build
- Run tests:
cargo test
Configuration can be provided through:
- YAML/TOML files
- Environment variables
- Command-line arguments
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
