diff --git a/src/bin/search.rs b/src/bin/search.rs index b842162..38be700 100644 --- a/src/bin/search.rs +++ b/src/bin/search.rs @@ -23,8 +23,7 @@ async fn main() -> Result<()> { // Load configuration let config: Config = Figment::new() - .merge(Env::raw().only(&["DATABASE_URL"])) - .merge(Env::prefixed("APP_")) + .merge(Env::raw()) .extract() .expect("Failed to load config"); diff --git a/src/config/mod.rs b/src/config/mod.rs index e19ffde..c9d65d1 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -8,7 +8,7 @@ use fundu::{DurationParser, TimeUnit}; use serde::{Deserialize, Deserializer}; use std::time::Duration; -/// Application configuration loaded from environment variables +/// Main application configuration containing all sub-configurations #[derive(Deserialize)] pub struct Config { /// Log level for the application @@ -20,8 +20,6 @@ pub struct Config { /// Defaults to "info" if not specified #[serde(default = "default_log_level")] pub log_level: String, - /// Discord bot token for authentication - pub bot_token: String, /// Port for the web server #[serde(default = "default_port")] pub port: u16, @@ -29,10 +27,6 @@ pub struct Config { pub database_url: String, /// Redis connection URL pub redis_url: String, - /// Base URL for banner generation service - pub banner_base_url: String, - /// Target Discord guild ID where the bot operates - pub bot_target_guild: u64, /// Graceful shutdown timeout duration /// /// Accepts both numeric values (seconds) and duration strings @@ -42,6 +36,13 @@ pub struct Config { deserialize_with = "deserialize_duration" )] pub shutdown_timeout: Duration, + /// Discord bot token for authentication + pub bot_token: String, + /// Target Discord guild ID where the bot operates + pub bot_target_guild: u64, + + /// Base URL for banner generation service + pub banner_base_url: String, /// Rate limiting configuration for Banner API requests #[serde(default = "default_rate_limiting")] pub rate_limiting: RateLimitingConfig, diff --git a/src/main.rs b/src/main.rs index cd837f4..4b76efb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,8 +32,7 @@ async fn main() { // Load configuration first to get log level let config: Config = Figment::new() - .merge(Env::raw().only(&["DATABASE_URL"])) - .merge(Env::prefixed("APP_")) + .merge(Env::raw()) .extract() .expect("Failed to load config");