use crate::Result;
mobius::embedded_config! {
copy;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct TelemetryPolicy {
pub allow_insecure_http: bool,
pub request_timeout_seconds: u64,
pub upload_admission_timeout_seconds: u64,
}
defaults = include_str!("policy.toml");
}
impl TelemetryPolicy {
pub fn validate(&self) -> Result<()> {
crate::config::bounded(
"telemetry.request_timeout_seconds",
self.request_timeout_seconds,
1..=3_600,
)?;
crate::config::bounded(
"telemetry.upload_admission_timeout_seconds",
self.upload_admission_timeout_seconds,
1..=3_600,
)?;
Ok(())
}
}