fluxrig

module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2026 License: Apache-2.0

README

fluxrig

fluxrig Logo

License Go Version Version

The high-performance connectivity and protocol orchestration platform for distributed mission-critical infrastructure.

fluxrig is an open-source engine designed to route, transform, and monitor data streams across heterogeneous environments. Whether you are modernizing legacy payment systems (ISO8583), orchestrating industrial IoT fleets (Modbus/MQTT), or building high-speed microservice bridges (JSON/Protobuf), fluxrig provides a unified control plane to harmonize your data flow.

Key Capabilities

  • Protocol Agnostic: Native support for ISO8583, JSON, XML, Protobuf, and raw binary protocols.
  • Edge Autonomy: Distributed agents (Racks) that process logic independently, ensuring business continuity during network failures.
  • Unified Control: A centralized Mixer for fleet-wide policy, identity management, and real-time telemetry.
  • High-Fidelity Observability: Native OpenTelemetry (OTel) integration for deep tracing and metrics without sidecars.
  • Extensible Logic: Custom processing modules (Gears) written in Go or WebAssembly (Wasm).

Core Architecture

fluxrig uses a modular architecture inspired by the precision of a Recording Studio and the scale of a Live Event Stage:

  1. The Mixer: The central Front of House (FOH) control plane and entity registry.
  2. The Rack: The edge node agent that hosts and executes processing logic (Gears).
  3. The Gear: Modular units of logic (codecs, adapters, transformations) that run inside a Rack.

Getting Started

[!TIP] Want to see it in action immediately? Check out the 5-Minute Quickstart guide!

Prerequisites
  • Go 1.25+
  • Make
  • GCC/Clang (Required for Mixer/DuckDB)
  • golangci-lint (For contributors)
1. Build from source
git clone https://github.com/jaab-tech/fluxrig.git
cd fluxrig
make build
2. Start the Control Plane
# Starts the Mixer and imports the getting_started scenario
./bin/fluxrig-mixer --auto-adopt examples/scenarios/getting_started.yaml
3. Connect an Edge Node

Open a new terminal and start the edge agent:

./bin/fluxrig rack

For the complete breakdown of this topology, how the declarative bento configuration works, and how to query the real-time telemetry, please follow the 5-Minute Quickstart.

Automated Testing

For complete end-to-end working topologies, refer to our automated test suites:

  • test/e2e/: High-fidelity Go-based integration scenarios (ISO8583, Telemetry, TLS).
  • test/robot/: Comprehensive acceptance tests and performance benchmarks.

Documentation

Full documentation, including architecture guides and Gear references, is available at fluxrig.org/docs.

Contributing

We welcome contributions! Please see our Contributing Guide and Code of Conduct.

Community

Acknowledgments

This project was developed with significant assistance from AI coding tools, including Antigravity (Google DeepMind), Claude (Anthropic), Gemini (Google), Cursor, and GitHub Copilot. See NOTICE for full details.

License

fluxrig is licensed under the Apache 2.0 License. See LICENSE for details.

Copyright (c) 2025-2026 JAAB Tech SAS, Uruguay.

Directories

Path Synopsis
cmd
fluxrig command
fluxrig-mixer command
@externalDocs.description fluxrig Architecture Guide @externalDocs.url https://fluxrig.org/docs/architecture
@externalDocs.description fluxrig Architecture Guide @externalDocs.url https://fluxrig.org/docs/architecture
iso8583-tool command
pkg
bus
mixer/api/docs
Package docs Code generated by swaggo/swag.
Package docs Code generated by swaggo/swag.
netutil
Package netutil provides small networking helpers for IP address discovery.
Package netutil provides small networking helpers for IP address discovery.
pki
sdk
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL