pub struct DaemonConfig {
pub path: PathBuf,
pub port: Option<u16>,
pub drain_timeout_ms: Option<u64>,
pub route_bind_relay_timeout_ms: Option<u64>,
pub modules: Vec<ConfiguredModule>,
pub storage: Option<StorageConfig>,
pub admission_facts_carrier_module_id: Option<String>,
pub admission_facts_targets: Option<Vec<String>>,
pub reserved_capabilities: BTreeMap<String, String>,
}Fields§
§path: PathBuf§port: Option<u16>§drain_timeout_ms: Option<u64>Daemon-wide default drain budget (ms) for module teardown: how long a
drain waits for already-dispatched requests to finalize. None uses
the built-in default (30s). Per-module drain_timeout_ms overrides.
route_bind_relay_timeout_ms: Option<u64>Daemon-wide default route.bind relay budget (ms): how long the daemon
waits for the target module to acknowledge a relayed route.bind before
reporting module_timeout. None uses the built-in default (12s, set
in control::DEFAULT_ROUTE_BIND_RELAY_TIMEOUT). Per-module
route_bind_relay_timeout_ms overrides. 0 is refused at parse time
(a zero budget fails every bind; use enabled: false to make a
module unreachable) — this is deliberately asymmetric with
drain_timeout_ms, where 0 is the sanctioned “tear down now”.
modules: Vec<ConfiguredModule>§storage: Option<StorageConfig>Central storage policy: the single backend choice all managed modules use.
None when the config has no storage section (no managed storage).
admission_facts_carrier_module_id: Option<String>Exact module id whose reserved process may carry admission facts.
admission_facts_targets: Option<Vec<String>>Exact target module ids that may receive facts from the configured carrier.
reserved_capabilities: BTreeMap<String, String>Capability names reserved to one module id. The binding may name a module that is not configured yet so an operator can reserve an interface before installing its provider.