Skip to content

Configuration Reference en

EnerOS Bot edited this page Jul 5, 2026 · 1 revision

中文 | English

Configuration Reference

Maintained version: v0.51.2 | Last updated: 2026-07-06

This page is a section-by-section quick reference for the eneros.toml configuration file. For the full list of options and defaults see the main repo eneros.toml and docs/deployment.md §3.

Configuration File Locations

Path Purpose
eneros.toml Project root default config (public on GitHub)
/etc/eneros/eneros.toml Production deployment config
eneros.toml.local Local override (gitignored)
Environment variable ENEROS_<SECTION>__<FIELD> Runtime override

Section Quick Reference

Section Purpose Introduced Default on
[topology] Grid topology data source v0.15.0 Yes
[powerflow] Powerflow solver parameters v0.16.0 Yes
[scada] SCADA data acquisition v0.26.0 Yes
[devices] Device connection list v0.25.0 Yes
[api] HTTP API service v0.11.0 Yes
[observability] Logging / metrics / tracing v0.11.0 Yes
[network] Grid network model v0.24.0 Yes
[emergency] Emergency threshold parameters v0.23.0 Yes
[security] JWT secret / API key v0.11.0 Yes
[eventbus] Event bus capacity v0.19.0 Yes
[tenant] Multi-tenancy v0.38.0 No
[zero_trust] Zero-trust CA / mTLS v0.39.0 No
[threat_detection] Intrusion detection v0.39.0 No
[audit] WORM audit + HMAC v0.39.0 No
[ops] Operations automation v0.40.0 No
[ha_enhance] Multi-region high availability v0.41.0 No
[i18n] Internationalization v0.47.0 No
[privacy] Data privacy compliance v0.47.0 No
[quality] Quality gate parameters v0.51.0 Yes

Key Section Examples

[topology] Grid Topology

[topology]
source = "json"           # json / cnpower / pandapower
path = "data/ieee14.json"

[powerflow] Powerflow Computation

[powerflow]
solver = "newton"         # newton / fast_decoupled / forward_backward / dc
tolerance = 1e-8
max_iterations = 50

[scada] SCADA Data Acquisition

[scada]
source = "iec104"         # iec104 / modbus / mock
iec104_addr = "192.168.1.100:2404"
fast_interval_ms = 100
normal_interval_ms = 1000

[api] HTTP API

[api]
host = "0.0.0.0"
port = 8080
enable_tls = false
tls_cert_path = ""
tls_key_path = ""

[observability] Observability

[observability]
log_level = "info"        # trace / debug / info / warn / error
enable_metrics = true
enable_tracing = true
metrics_port = 9090
jaeger_endpoint = "http://localhost:4317"

[tenant] Multi-Tenancy (v0.38.0+)

See the Multi-Tenancy page.

[zero_trust] Zero-Trust (v0.39.0+)

See the Zero-Trust Security page.

[ops] Operations Automation (v0.40.0+)

See the Operations & Plugins page.

[ha_enhance] Multi-Region High Availability (v0.41.0+)

See the HA & Multi-Region page.

[quality] Quality Gates (v0.51.0+)

[quality]
fuzz_targets = ["iec104", "iec103", "dlt698", "pmu_c37118"]
proptest_cases = 256

Hot Reload

Runtime hot reload is supported (v0.9.0+), no restart needed:

Field Hot reload Notes
observability.log_level ✅ Immediate
observability.enable_metrics
scada.fast_interval_ms ⚠️ Next pipeline restart
scada.normal_interval_ms ⚠️ Next pipeline restart
emergency.*
powerflow.tolerance
powerflow.max_iterations
api.host / api.port ❌ Restart required Bind address
api.enable_tls / api.tls_cert_path ❌ Restart required
network.source / network.path ❌ Restart required Grid model
devices ❌ Restart required Device connection list
scada.source / scada.iec104_addr ❌ Restart required
security.jwt_secret ❌ Restart required
eventbus.max_queue_size ❌ Restart required
tenant.enabled / tenant.storage_path ❌ Restart required

Manual hot reload:

curl -X POST http://localhost:8080/api/config/reload

View current config (sensitive fields masked):

curl http://localhost:8080/api/config

Environment Variable Overrides

Format: ENEROS_<SECTION>__<FIELD> (double underscore separates section and field)

ENEROS_API__PORT=9090 ./target/release/eneros-api run
ENEROS_SCADA__SOURCE=iec104 ENEROS_SCADA__IEC104_ADDR=192.168.1.100:2404 ./target/release/eneros-api run
ENEROS_OBSERVABILITY__LOG_LEVEL=debug ./target/release/eneros-api run
ENEROS_TENANT__ENABLED=true ./target/release/eneros-api run

Related Documentation

Clone this wiki locally