pub struct DaemonConfig {Show 17 fields
pub listen: String,
pub domain: i32,
pub log_level: String,
pub max_body_bytes: usize,
pub tls_enabled: bool,
pub tls_cert_file: String,
pub tls_key_file: String,
pub tls_client_ca_file: String,
pub auth_mode: String,
pub auth_bearer_token: Option<String>,
pub auth_bearer_subject: Option<String>,
pub auth_jwt: JwtSettings,
pub app_acl: HashMap<String, (Vec<String>, Vec<String>)>,
pub metrics_enabled: bool,
pub metrics_addr: String,
pub types: Vec<TypeEntry>,
pub interfaces: Vec<String>,
}Expand description
Parsed daemon config.
Fields§
§listen: Stringlisten: <addr> — HTTP bind address, serving REST + SOAP + WSDL
on the one port (dispatched by path prefix).
domain: i32domain: <id> — DDS domain id.
log_level: Stringlog_level: <level>.
max_body_bytes: usizemax_body_bytes — request body cap (crate::http1::read_request).
tls_enabled: booltls.enabled — if true, tls_cert_file+tls_key_file must be
set.
tls_cert_file: Stringtls.cert_file — PEM cert path.
tls_key_file: Stringtls.key_file — PEM key path.
tls_client_ca_file: Stringtls.client_ca_file — PEM CA bundle for mTLS client auth.
auth_mode: Stringauth.mode — none|bearer|jwt|mtls.
auth_bearer_token: Option<String>auth.bearer_token — single-token form.
auth_bearer_subject: Option<String>auth.bearer_subject — who is behind the bearer.
auth_jwt: JwtSettingsauth.jwt.*.
app_acl: HashMap<String, (Vec<String>, Vec<String>)>acl.<app>.{read,write} — see the module doc.
metrics_enabled: boolmetrics.enabled — toggles the Prometheus/catalog/healthz
endpoint.
metrics_addr: StringBind address for the admin endpoint. Empty with
metrics_enabled=true defaults to
crate::daemon::server::DEFAULT_METRICS_LISTEN.
types: Vec<TypeEntry>types: — every type this gateway can resolve from a
config-named IDL file.
interfaces: Vec<String>interfaces: — IDL files whose interfaces are described in
the SOAP WSDL this gateway serves (crate::wsdl_bridge).
Implementations§
Source§impl DaemonConfig
impl DaemonConfig
Sourcepub fn default_for_dev() -> Self
pub fn default_for_dev() -> Self
Default config for development / tests without a file.
Sourcepub fn load_from_file(path: &Path) -> Result<Self, ConfigError>
pub fn load_from_file(path: &Path) -> Result<Self, ConfigError>
Loads one file (and its sibling <stem>.d/), for tests and
tools. The daemon itself loads through
zerodds_dcps::cli::Configured.
§Errors
Unreadable file, text outside the subset, or a refused value.
Sourcepub fn load_from_str(raw: &str) -> Result<Self, ConfigError>
pub fn load_from_str(raw: &str) -> Result<Self, ConfigError>
Sourcepub fn from_config(config: Option<&Config>) -> Result<Self, ConfigError>
pub fn from_config(config: Option<&Config>) -> Result<Self, ConfigError>
Reads this daemon’s keys out of a merged tree, over
Self::default_for_dev. None means nothing was loaded.
§Errors
ConfigError::Invalid naming the setting, its origin and what
it accepts.