diff --git a/src/bin/daemon.rs b/src/bin/daemon.rs index f3acc6a..2365136 100644 --- a/src/bin/daemon.rs +++ b/src/bin/daemon.rs @@ -1,3 +1,5 @@ +use std::env; + use anyhow::Result; use dotenv::dotenv; use serde::Deserialize; @@ -30,7 +32,10 @@ struct Config { impl Config { pub fn new() -> Result { let config = config::Config::builder() - .add_source(config::File::with_name("daemon.toml").required(false)) + .add_source( + config::File::with_name(&env::var("DAEMON_CONFIG").unwrap_or("daemon.toml".into())) + .required(false), + ) .add_source(config::Environment::with_prefix("daemon").separator("_")) .build()? .try_deserialize()?; diff --git a/src/bin/rpc.rs b/src/bin/rpc.rs index 4d5259f..3569e06 100644 --- a/src/bin/rpc.rs +++ b/src/bin/rpc.rs @@ -1,3 +1,5 @@ +use std::env; + use anyhow::Result; use dotenv::dotenv; use serde::Deserialize; @@ -38,7 +40,10 @@ struct Config { impl Config { pub fn new() -> Result { let config = config::Config::builder() - .add_source(config::File::with_name("rpc.toml").required(false)) + .add_source( + config::File::with_name(&env::var("RPC_CONFIG").unwrap_or("rpc.toml".into())) + .required(false), + ) .add_source(config::Environment::with_prefix("rpc").separator("_")) .build()? .try_deserialize()?;