diff --git a/src/server/config.rs b/src/server/config.rs index 78c6272..6b3f63b 100644 --- a/src/server/config.rs +++ b/src/server/config.rs @@ -1,5 +1,10 @@ use serde::Deserialize; +#[derive(Debug, Clone, Deserialize)] +pub struct AuthConfig { + pub open_signup: bool, +} + /// Build a connection URI from parts fn format_uri( scheme: &str, @@ -134,6 +139,7 @@ impl KeyValStoreConfig { #[derive(Debug, Clone, Deserialize)] /// Top-level application configuration pub struct Config { + pub auth: AuthConfig, pub database: DatabaseConfig, pub key_val_store: KeyValStoreConfig, } @@ -146,6 +152,7 @@ pub fn load_config() -> Result { config::Config::builder() .set_default("server.port", 8080)? + .set_default("auth.open_signup", false)? .add_source(File::with_name(&format!("/etc/{pkg_name}/config")).required(false)) .add_source(File::with_name(&format!("/etc/{pkg_name}")).required(false)) .add_source(File::with_name("config").required(false))