fluxrig

module
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 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
Package bus provides functionality for the fluxrig platform.
Package bus provides functionality for the fluxrig platform.
config
Package config provides functionality for the fluxrig platform.
Package config provides functionality for the fluxrig platform.
controller
Package controller provides functionality for the fluxrig platform.
Package controller provides functionality for the fluxrig platform.
ctrl
Package ctrl provides functionality for the fluxrig platform.
Package ctrl provides functionality for the fluxrig platform.
fluxmsg
Package fluxmsg provides functionality for the fluxrig platform.
Package fluxmsg provides functionality for the fluxrig platform.
gears
Package gears provides functionality for the fluxrig platform.
Package gears provides functionality for the fluxrig platform.
gears/native/bento
Package bento provides functionality for the fluxrig platform.
Package bento provides functionality for the fluxrig platform.
gears/native/coatcheck
Package coatcheck provides functionality for the fluxrig platform.
Package coatcheck provides functionality for the fluxrig platform.
gears/native/io_tcp
Package io_tcp provides functionality for the fluxrig platform.
Package io_tcp provides functionality for the fluxrig platform.
gears/native/iso8583/codec
Package codec provides functionality for the fluxrig platform.
Package codec provides functionality for the fluxrig platform.
gears/native/iso8583/codec/sdl
Package sdl provides functionality for the fluxrig platform.
Package sdl provides functionality for the fluxrig platform.
gears/native/iso8583/io
Package io provides functionality for the fluxrig platform.
Package io provides functionality for the fluxrig platform.
gears/native/wasm
Package wasm provides a wazero-powered WebAssembly runtime for fluxrig gears.
Package wasm provides a wazero-powered WebAssembly runtime for fluxrig gears.
idgen
Package idgen provides functionality for the fluxrig platform.
Package idgen provides functionality for the fluxrig platform.
ingest
Package ingest provides functionality for the fluxrig platform.
Package ingest provides functionality for the fluxrig platform.
lockfile
Package lockfile provides functionality for the fluxrig platform.
Package lockfile provides functionality for the fluxrig platform.
logger
Package logger provides functionality for the fluxrig platform.
Package logger provides functionality for the fluxrig platform.
logger/rotator
Package rotator provides functionality for the fluxrig platform.
Package rotator provides functionality for the fluxrig platform.
manager
Package manager provides functionality for the fluxrig platform.
Package manager provides functionality for the fluxrig platform.
manager/cas
Package cas provides functionality for the fluxrig platform.
Package cas provides functionality for the fluxrig platform.
mixer
Package mixer provides functionality for the fluxrig platform.
Package mixer provides functionality for the fluxrig platform.
mixer/api
Package api provides functionality for the fluxrig platform.
Package api provides functionality for the fluxrig platform.
mixer/api/docs
Package docs provides functionality for the fluxrig platform.
Package docs provides functionality for the fluxrig platform.
netutil
Package netutil provides functionality for the fluxrig platform.
Package netutil provides functionality for the fluxrig platform.
pki
Package pki provides functionality for the fluxrig platform.
Package pki provides functionality for the fluxrig platform.
registry
Package registry provides functionality for the fluxrig platform.
Package registry provides functionality for the fluxrig platform.
router
Package router provides functionality for the fluxrig platform.
Package router provides functionality for the fluxrig platform.
runtime
Package runtime provides functionality for the fluxrig platform.
Package runtime provides functionality for the fluxrig platform.
sdk
Package sdk provides functionality for the fluxrig platform.
Package sdk provides functionality for the fluxrig platform.
security
Package security provides functionality for the fluxrig platform.
Package security provides functionality for the fluxrig platform.
snake
Package snake provides functionality for the fluxrig platform.
Package snake provides functionality for the fluxrig platform.
store/duckdb
Package duckdb provides functionality for the fluxrig platform.
Package duckdb provides functionality for the fluxrig platform.
telemetry
Package telemetry provides functionality for the fluxrig platform.
Package telemetry provides functionality for the fluxrig platform.
telemetry/shipper
Package shipper provides functionality for the fluxrig platform.
Package shipper provides functionality for the fluxrig platform.
telemetry/wal
Package wal provides functionality for the fluxrig platform.
Package wal provides functionality for the fluxrig platform.
utils/path
Package path provides functionality for the fluxrig platform.
Package path provides functionality for the fluxrig platform.
version
Package version provides functionality for the fluxrig platform.
Package version provides functionality for the fluxrig platform.
wasm/catalog
Package catalog provides Wasm Supply Chain Security, Validation, and Storage.
Package catalog provides Wasm Supply Chain Security, Validation, and Storage.
test

Jump to

Keyboard shortcuts

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