Managing many configuration variants by hand drifts, and can't be reproduced. ConfigFlux makes configuration deterministic and auditable: a typed model you validate once, and resolve into an exact config — the same bytes, every time.
One pipeline — from CUE chunks to a live runtime
Every stage is typed and deterministic. Nothing is resolved twice the same way by accident — it's the same way by construction.
Decentralized CUE configuration chunks — your shared, typed building blocks.
Merge and validate into the 150% model (a typed graph); emit a hash-addressable Compiled Model Package (CMP).
Apply late-binding selections to resolve the strict 100% model; export generated C++ headers, build flags, manifests, and a software BOM.
The runtime delivers resolved config to a live system — deterministic delta-first sync, a layered store, commit/rollback, and an event bus.
Rigorous where it matters, honest about the rest
Deterministic by construction
Outputs are canonicalized and hashed. The same inputs always produce the same bytes — and the same hashes.
Scenario packs
Reusable product families for robotics, industrial automation and building systems — a starting point, not a blank page.
Bazel-only, hermetic build
One command, fully sandboxed and reproducible. No surprise dependencies leaking in from your host.
Staged pipeline
Compiler → interpreter → runtime, driven by the one-shot cfx CLI, with a first-party C++ SDK and ROS 2 adapters for embedding in real systems.
Integrate from anywhere
Resolved configuration ships as plain files, a stable CLI (JSON in/out), and a versioned C ABI — read it from any language, subprocess the CLI, or bind the ABI. First-party C++ and ROS 2 SDKs included.
Auditable outputs
Resolved models, generated headers, build flags, manifests, and a first-party software BOM — all inspectable.
Signed releases
Release binaries are cryptographically signed, so you can verify exactly what you're running.
Requirement traceability
Behavior maps back to tracked requirements, so your guarantees are auditable — not just asserted.
Up and running in one command
Grab a signed release, or build from source. Either way it's hermetic and reproducible.
Browse the worked examples in the repo →A small glossary
Software product line — a family of related systems built from shared, configurable building blocks.
The superset model containing every option and variant, before any resolution is applied.
The fully resolved configuration for one specific product or deployment.
The typed configuration language used to author and constrain chunks.
Compiled Model Package — the hash-addressable artifact the compiler emits from the validated 150% model.
Built for variants you can't afford to get wrong
If you ship many configurations of the same system — and someone needs to prove which one shipped — this is for you.
Device fleets
Many units, many firmware and feature combinations, one source of truth.
Industrial automation
Cells and lines configured per site, with an audit trail for each.
Building systems
HVAC and controls tuned per building from shared, validated blocks.
Multi-environment deploys
Dev, staging and production resolved from one model — no drift.
ConfigFlux is validated for small to mid-size models today: deterministic compilation, validation, resolution, and signed, hashed outputs all work end to end.
Very large or densely-constrained models are an area of active research — we don't claim to handle arbitrarily large problems yet. The measured performance benchmarks report exactly the workloads validated for this release. Licensed BUSL-1.1 (source available).
See what's shipped →