fix: make server/database config optional (worker only needs llm)

This commit is contained in:
2026-04-06 14:03:11 +01:00
parent 7b7a2b563a
commit 54517b27f2
2 changed files with 8 additions and 4 deletions

View File

@@ -31,8 +31,10 @@ pub struct Config {
/// LLM config is optional on the server — workers bring their own.
#[serde(default)]
pub llm: Option<LlmConfig>,
pub server: ServerConfig,
pub database: DatabaseConfig,
#[serde(default)]
pub server: Option<ServerConfig>,
#[serde(default)]
pub database: Option<DatabaseConfig>,
#[serde(default)]
pub template_repo: Option<TemplateRepoConfig>,
/// Path to EC private key PEM file for JWT signing

View File

@@ -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?;