From e2e68c8e81a0f55cf1a2e2fbf257e5645e4eaf88 Mon Sep 17 00:00:00 2001 From: Michal Humpula Date: Sun, 1 Mar 2026 08:20:24 +0100 Subject: [PATCH] simplify env --- src/main.rs | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/main.rs b/src/main.rs index 73fb319..d613f69 100644 --- a/src/main.rs +++ b/src/main.rs @@ -54,6 +54,18 @@ struct Config { failback_delay: u64, } +fn apply_env_overrides(mut config: Config) -> Config { + config.primary_interface = + std::env::var("PRIMARY_INTERFACE").unwrap_or(config.primary_interface); + config.secondary_interface = + std::env::var("SECONDARY_INTERFACE").unwrap_or(config.secondary_interface); + config.primary_gateway = std::env::var("PRIMARY_GATEWAY").unwrap_or(config.primary_gateway); + config.secondary_gateway = + std::env::var("SECONDARY_GATEWAY").unwrap_or(config.secondary_gateway); + config.ping_target = std::env::var("PING_TARGET").unwrap_or(config.ping_target); + config +} + #[tokio::main] async fn main() -> Result<()> { let env = Env::default().filter_or("RUST_LOG", "info"); @@ -64,22 +76,7 @@ async fn main() -> Result<()> { let config = Config::parse(); // Override with environment variables if present - let primary_interface = - std::env::var("PRIMARY_INTERFACE").unwrap_or(config.primary_interface.clone()); - let secondary_interface = - std::env::var("SECONDARY_INTERFACE").unwrap_or(config.secondary_interface.clone()); - let primary_gateway = - std::env::var("PRIMARY_GATEWAY").unwrap_or(config.primary_gateway.clone()); - let secondary_gateway = - std::env::var("SECONDARY_GATEWAY").unwrap_or(config.secondary_gateway.clone()); - let ping_target = std::env::var("PING_TARGET").unwrap_or(config.ping_target.clone()); - - let mut config_with_env = config; - config_with_env.primary_interface = primary_interface; - config_with_env.secondary_interface = secondary_interface; - config_with_env.primary_gateway = primary_gateway; - config_with_env.secondary_gateway = secondary_gateway; - config_with_env.ping_target = ping_target; + let config_with_env = apply_env_overrides(config); debug!("Configuration: {:?}", config_with_env);