Configuration
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam. Flux reads configuration from three sources, in this order of precedence:
- Command-line flags (
--workspace,--log-level, …) - Environment variables prefixed with
FLUX_ - A TOML file at
~/.flux/config.toml(or$FLUX_CONFIG)
Example config file
# ~/.flux/config.toml
workspace = "acme"
log_level = "info"
[backend]
driver = "postgres"
dsn = "postgres://flux:flux@localhost:5432/flux"
[telemetry]
otlp_endpoint = "http://localhost:4317"
sample_rate = 1.0
[limits]
max_concurrent_runs = 32
max_step_duration_ms = 600_000
Environment variables
| Variable | Default | Description |
|---|---|---|
FLUX_WORKSPACE | – | Logical tenant (required) |
FLUX_TOKEN | – | Workspace API token (required) |
FLUX_LOG_LEVEL | info | trace, debug, info, warn, error |
FLUX_BACKEND_DSN | sqlite:./flux.db | Persistence DSN |
FLUX_OTLP_ENDPOINT | – | OpenTelemetry collector URL |
Secrets
Reference secrets in pipelines via the secret:// URI scheme. The CLI resolves
them lazily at runtime, never at parse time:
step('publish')
.to('kafka://orders.v1')
.with({
sasl: {
username: 'flux',
password: 'secret://kafka/password',
},
});
Supported secret backends: AWS Secrets Manager, HashiCorp Vault, Azure Key
Vault, and a local .flux/secrets file for development.