mobius_gateway/telemetry/
policy.rs1use crate::Result;
4
5mobius::embedded_config! {
6 copy;
7#[derive(Debug, Clone, Copy, PartialEq, Eq)]
9pub struct TelemetryPolicy {
10 pub allow_insecure_http: bool,
12 pub request_timeout_seconds: u64,
14 pub upload_admission_timeout_seconds: u64,
16}
17 defaults = include_str!("policy.toml");
18}
19impl TelemetryPolicy {
20 pub fn validate(&self) -> Result<()> {
24 crate::config::bounded(
25 "telemetry.request_timeout_seconds",
26 self.request_timeout_seconds,
27 1..=3_600,
28 )?;
29 crate::config::bounded(
30 "telemetry.upload_admission_timeout_seconds",
31 self.upload_admission_timeout_seconds,
32 1..=3_600,
33 )?;
34 Ok(())
35 }
36}