For Developers
Ship APIs faster. Debug them faster. Repeat.
FluxGate gives backend engineers a local-first gateway that mirrors production — so you can test, version, and troubleshoot without leaving your dev environment.
# fluxgate.yaml — local dev config
gateway:
listen: ":8080"
routes:
- path: "/v2/orders"
service: "localhost:3100"
version: "v2"
rate_limit: 1000 # req/min
logging:
level: "debug"
trace_ids: true
Local Testing
Your gateway lives in your IDE — not in a datacenter somewhere.
Spin up FluxGate locally with one command. It reads your fluxgate.yaml, hot-reloads on changes, and gives you a production-identical routing layer running on localhost:8080.
-
Hot-reload configuration
Edit your routing rules and watch them apply in under 200ms — no restart needed.
-
Local service mesh simulation
Define upstream services, inject latency or failure rates, and test circuit breakers before they hit staging.
-
Mock endpoint generation
Auto-generate mock responses from your OpenAPI spec so frontend teams can unblock themselves.
-
Docker-compose integration
Drop FluxGate into your
docker-compose.ymland it joins your existing service mesh seamlessly.
API Versioning
Version your APIs without breaking a single client.
FluxGate handles version negotiation, traffic splitting, and deprecation — so you can roll out v3 while v1 and v2 keep serving millions of requests.
Header-Based Routing
Route by X-API-Version header or URL prefix. Clients declare their version, FluxGate forwards to the right upstream — no code changes on their side.
Canary Traffic Splits
Send 5% of traffic to v3-beta while 95% stays on v2-stable. Adjust weights in real time through the dashboard or CLI.
Schema Validation per Version
Attach a JSON Schema to each version. FluxGate validates request bodies and response payloads, returning 422 errors with field-level detail before your service even sees the request.
Quality GateDeprecation Headers
Automatically inject Sunset and Deprecation response headers. Clients get a clear timeline — no more surprise breaking changes.
Response Transformation
Map v2 response fields to v3 shapes on the fly. Keep legacy clients working while your team migrates the underlying data model.
Backward CompatVersion Analytics Dashboard
See which versions are still in use, request volume per version, and error rates. Data-driven decisions on when to sunset v1.
ObservabilityDebugging
Every request is traceable. Every error is explainable.
FluxGate logs every request that passes through with structured JSON output, distributed trace IDs, and full payload capture — so you can replay, inspect, and resolve issues without guessing.
-
Request/Response Body Capture
Store full payloads in your preferred sink — stdout, file, Elasticsearch, or CloudWatch. Configure per-route granularity.
-
W3C Trace Context Propagation
FluxGate injects
traceparentandtracestateheaders automatically, linking gateway logs to your downstream service traces. -
Request Replay from Logs
Click any log entry in the dashboard and replay the exact request — headers, body, and all — against a different upstream or version.
-
Latency Breakdown Timings
See DNS resolution, TCP handshake, TLS negotiation, upstream wait, and body transfer times for every single request.
// Sample structured log entry
{
"timestamp": "2025-01-14T09:23:17.442Z",
"trace_id": "a3f8c1d0-7b2e-4911-8c4a-00e6f2d1a9b7",
"request": {
"method": "POST",
"path": "/v2/orders",
"client_ip": "203.0.113.42",
"headers": {
"X-API-Version": "v2",
"Authorization": "Bearer ••••••"
}
},
"response": {
"status": 201,
"duration_ms": 3.8,
"upstream": "orders-svc:3100"
},
"timings": {
"dns_ms": 0.1,
"tcp_ms": 0.8,
"tls_ms": 1.2,
"upstream_wait_ms": 1.4,
"body_transfer_ms": 0.3
}
}
Trusted by engineering teams at
Start routing locally in under 60 seconds.
No account required for local development. Install the CLI, write a config file, and you're running a production-grade gateway on your machine.
# Install with npm
$ npm install -g @fluxgate/cli
# Or with Homebrew
$ brew install fluxgate/tap/fluxgate
# Start your gateway
$ fluxgate start --config fluxgate.yaml
✓ Gateway listening on :8080
✓ 3 routes loaded
✓ Trace IDs enabled