diff --git a/Cargo.lock b/Cargo.lock index a5319d7..8101bdf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -270,7 +270,7 @@ checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" [[package]] name = "cm-dashboard" -version = "0.1.64" +version = "0.1.65" dependencies = [ "anyhow", "chrono", @@ -292,7 +292,7 @@ dependencies = [ [[package]] name = "cm-dashboard-agent" -version = "0.1.64" +version = "0.1.65" dependencies = [ "anyhow", "async-trait", @@ -315,7 +315,7 @@ dependencies = [ [[package]] name = "cm-dashboard-shared" -version = "0.1.64" +version = "0.1.65" dependencies = [ "chrono", "serde", diff --git a/agent/Cargo.toml b/agent/Cargo.toml index 6824a4e..8b328ca 100644 --- a/agent/Cargo.toml +++ b/agent/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cm-dashboard-agent" -version = "0.1.65" +version = "0.1.66" edition = "2021" [dependencies] diff --git a/agent/src/config/mod.rs b/agent/src/config/mod.rs index 51880e5..45507eb 100644 --- a/agent/src/config/mod.rs +++ b/agent/src/config/mod.rs @@ -150,6 +150,9 @@ pub struct NotificationConfig { /// List of metric names to exclude from email notifications #[serde(default)] pub exclude_email_metrics: Vec, + /// Path to maintenance mode file that suppresses email notifications when present + #[serde(default = "default_maintenance_mode_file")] + pub maintenance_mode_file: String, } @@ -157,6 +160,10 @@ fn default_heartbeat_interval_seconds() -> u64 { 5 } +fn default_maintenance_mode_file() -> String { + "/tmp/cm-maintenance".to_string() +} + impl AgentConfig { pub fn from_file>(path: P) -> Result { loader::load_config(path) diff --git a/agent/src/notifications/mod.rs b/agent/src/notifications/mod.rs index c5194b8..cd58291 100644 --- a/agent/src/notifications/mod.rs +++ b/agent/src/notifications/mod.rs @@ -59,6 +59,6 @@ impl NotificationManager { } fn is_maintenance_mode(&self) -> bool { - std::fs::metadata("/tmp/cm-maintenance").is_ok() + std::fs::metadata(&self.config.maintenance_mode_file).is_ok() } } \ No newline at end of file diff --git a/dashboard/Cargo.toml b/dashboard/Cargo.toml index caad757..953dd48 100644 --- a/dashboard/Cargo.toml +++ b/dashboard/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cm-dashboard" -version = "0.1.65" +version = "0.1.66" edition = "2021" [dependencies] diff --git a/shared/Cargo.toml b/shared/Cargo.toml index 4c8afd8..c437ccd 100644 --- a/shared/Cargo.toml +++ b/shared/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cm-dashboard-shared" -version = "0.1.65" +version = "0.1.66" edition = "2021" [dependencies]