use serde::Deserialize;
use std::collections::HashMap;
use witchcraft_log::LevelFilter;
#[derive(Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct RuntimeConfig {
pub diagnostics: super::DiagnosticsConfig,
pub health_checks: super::HealthChecksConfig,
pub logging: Option<super::LoggingConfig>,
pub service_discovery: Option<super::ServicesConfig>,
}
#[derive(Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct DiagnosticsConfig {
pub debug_shared_secret: String,
pub jemalloc: Option<super::JemallocConfig>,
}
#[derive(Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct JemallocConfig {
pub prof_active: Option<bool>,
pub lg_prof_sample: Option<usize>,
}
#[derive(Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct HealthChecksConfig {
pub shared_secret: String,
}
#[derive(Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct LoggingConfig {
pub level: Option<LevelFilter>,
pub loggers: Option<HashMap<String, LevelFilter>>,
pub trace_rate: Option<f32>,
}