diff --git a/crates/local-deployment/src/lib.rs b/crates/local-deployment/src/lib.rs index dde1a804..a555c03e 100644 --- a/crates/local-deployment/src/lib.rs +++ b/crates/local-deployment/src/lib.rs @@ -132,8 +132,12 @@ impl Deployment for LocalDeployment { let profile_cache = Arc::new(RwLock::new(None)); let auth_context = AuthContext::new(oauth_credentials.clone(), profile_cache.clone()); - let remote_client = match std::env::var("VK_SHARED_API_BASE") { - Ok(url) => match RemoteClient::new(&url, auth_context.clone()) { + let api_base = option_env!("VK_SHARED_API_BASE") + .map(|s| s.to_string()) + .or_else(|| std::env::var("VK_SHARED_API_BASE").ok()); + + let remote_client = match api_base { + Some(url) => match RemoteClient::new(&url, auth_context.clone()) { Ok(client) => { tracing::info!("Remote client initialized with URL: {}", url); Ok(client) @@ -143,7 +147,7 @@ impl Deployment for LocalDeployment { Err(RemoteClientNotConfigured) } }, - Err(_) => { + None => { tracing::info!("VK_SHARED_API_BASE not set; remote features disabled"); Err(RemoteClientNotConfigured) } diff --git a/crates/services/src/services/share/config.rs b/crates/services/src/services/share/config.rs index 0f6dbe2a..e2d5fd1f 100644 --- a/crates/services/src/services/share/config.rs +++ b/crates/services/src/services/share/config.rs @@ -14,7 +14,9 @@ pub struct ShareConfig { impl ShareConfig { pub fn from_env() -> Option { - let raw_base = std::env::var("VK_SHARED_API_BASE").ok()?; + let raw_base = option_env!("VK_SHARED_API_BASE") + .map(|s| s.to_string()) + .or_else(|| std::env::var("VK_SHARED_API_BASE").ok())?; let api_base = Url::parse(raw_base.trim()).ok()?; let websocket_base = derive_ws_url(api_base.clone()).ok()?;