From a6a1e60b88fbf79301dddbf369a4bd1dc9208a71 Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Tue, 17 Mar 2026 06:54:45 +0100 Subject: [PATCH 1/2] migrate defguard_url from config --- crates/defguard_common/src/config.rs | 2 +- crates/defguard_common/src/db/models/settings.rs | 3 +++ crates/defguard_core/src/lib.rs | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/defguard_common/src/config.rs b/crates/defguard_common/src/config.rs index 2664d98a7a..18fe61ceda 100644 --- a/crates/defguard_common/src/config.rs +++ b/crates/defguard_common/src/config.rs @@ -77,7 +77,7 @@ pub struct DefGuardConfig { #[arg(long, env = "DEFGUARD_URL", value_parser = Url::parse, default_value = "http://localhost:8000")] #[serde(skip_serializing)] #[deprecated(since = "2.0.0", note = "Use Settings.defguard_url instead")] - pub url: Url, + pub url: Option, #[arg(long, env = "DEFGUARD_DISABLE_STATS_PURGE")] #[deprecated(since = "2.0.0", note = "Use Settings.enable_stats_purge instead")] diff --git a/crates/defguard_common/src/db/models/settings.rs b/crates/defguard_common/src/db/models/settings.rs index 39ebc718ac..c83048f292 100644 --- a/crates/defguard_common/src/db/models/settings.rs +++ b/crates/defguard_common/src/db/models/settings.rs @@ -721,6 +721,9 @@ impl Settings { let hour = minute * 60; let day = hour * 24; + if let Some(url) = &config.url { + self.defguard_url = url.to_string(); + } if let Some(secret_key) = &config.secret_key { let secret_key = secret_key.expose_secret(); if let Err(err) = Settings::validate_secret_key(secret_key) { diff --git a/crates/defguard_core/src/lib.rs b/crates/defguard_core/src/lib.rs index ba963d2067..4679d7f2d1 100644 --- a/crates/defguard_core/src/lib.rs +++ b/crates/defguard_core/src/lib.rs @@ -718,7 +718,7 @@ pub async fn init_dev_env(config: &DefGuardConfig) { .clone() .unwrap_or(Url::parse("http://127.0.0.1:8000").unwrap()) .to_string(); - settings.defguard_url = config.url.to_string(); + settings.defguard_url = config.url.clone().unwrap().to_string(); update_current_settings(&pool, settings) .await .expect("Failed to update settings"); From 552bdcd71a2bb1746f41da0e50dff7d8ef2aff4c Mon Sep 17 00:00:00 2001 From: Jacek Chmielewski Date: Tue, 17 Mar 2026 10:14:34 +0100 Subject: [PATCH 2/2] remove DefguardConfig::url default value --- crates/defguard_common/src/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/defguard_common/src/config.rs b/crates/defguard_common/src/config.rs index 18fe61ceda..52ead18345 100644 --- a/crates/defguard_common/src/config.rs +++ b/crates/defguard_common/src/config.rs @@ -74,7 +74,7 @@ pub struct DefGuardConfig { #[serde(skip_serializing)] pub openid_signing_key: Option, - #[arg(long, env = "DEFGUARD_URL", value_parser = Url::parse, default_value = "http://localhost:8000")] + #[arg(long, env = "DEFGUARD_URL", value_parser = Url::parse)] #[serde(skip_serializing)] #[deprecated(since = "2.0.0", note = "Use Settings.defguard_url instead")] pub url: Option,