From 54517b27f26efcf82d744c49096dba16604bf9d5 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Mon, 6 Apr 2026 14:03:11 +0100 Subject: [PATCH] fix: make server/database config optional (worker only needs llm) --- src/lib.rs | 6 ++++-- src/main.rs | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c6f74ed..0b3331b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,8 +31,10 @@ pub struct Config { /// LLM config is optional on the server — workers bring their own. #[serde(default)] pub llm: Option, - pub server: ServerConfig, - pub database: DatabaseConfig, + #[serde(default)] + pub server: Option, + #[serde(default)] + pub database: Option, #[serde(default)] pub template_repo: Option, /// Path to EC private key PEM file for JWT signing diff --git a/src/main.rs b/src/main.rs index cf7fc79..fd44172 100644 --- a/src/main.rs +++ b/src/main.rs @@ -66,7 +66,8 @@ async fn run_server() -> anyhow::Result<()> { let config: Config = serde_yaml::from_str(&config_str) .expect("Failed to parse config.yaml"); - let database = db::Database::new(&config.database.path).await?; + let db_config = config.database.as_ref().expect("database config required for server mode"); + let database = db::Database::new(&db_config.path).await?; database.migrate().await?; let kb_arc = match kb::KbManager::new(database.pool.clone()) { @@ -171,7 +172,8 @@ async fn run_server() -> anyhow::Result<()> { })) .layer(CorsLayer::permissive()); - let addr = format!("{}:{}", &config.server.host, config.server.port); + let srv = config.server.as_ref().expect("server config required for server mode"); + let addr = format!("{}:{}", &srv.host, srv.port); tracing::info!("Tori server listening on {}", addr); let listener = tokio::net::TcpListener::bind(&addr).await?; axum::serve(listener, app).await?;