use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WardenConfig {
pub enabled: bool,
pub rate_limit_per_minute: u32,
pub rate_limit_burst: u32,
pub bypass_loopback: bool,
#[serde(default)]
pub ip_allow: Vec<ipnet::IpNet>,
#[serde(default)]
pub ip_deny: Vec<ipnet::IpNet>,
}
impl Default for WardenConfig {
fn default() -> Self {
Self {
enabled: true,
rate_limit_per_minute: 60,
rate_limit_burst: 10,
bypass_loopback: true,
ip_allow: vec![],
ip_deny: vec![],
}
}
}