From 21d3d3a5d44909e39dce89853746fbd70e1beefb Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Thu, 31 Aug 2023 16:53:01 +0200 Subject: [PATCH] Rename the 'hack' configuration section to 'experimental' --- crates/cli/src/commands/server.rs | 4 ++-- .../src/sections/{hack.rs => experimental.rs} | 17 ++++++++++------- crates/config/src/sections/mod.rs | 18 +++++++++--------- docs/config.schema.json | 14 +++++++------- 4 files changed, 28 insertions(+), 25 deletions(-) rename crates/config/src/sections/{hack.rs => experimental.rs} (79%) diff --git a/crates/cli/src/commands/server.rs b/crates/cli/src/commands/server.rs index 3fd45277..f005c452 100644 --- a/crates/cli/src/commands/server.rs +++ b/crates/cli/src/commands/server.rs @@ -140,8 +140,8 @@ impl Options { ); let site_config = SiteConfig { - access_token_ttl: config.hack.access_token_ttl, - compat_token_ttl: config.hack.compat_token_ttl, + access_token_ttl: config.experimental.access_token_ttl, + compat_token_ttl: config.experimental.compat_token_ttl, }; // Explicitly the config to properly zeroize secret keys diff --git a/crates/config/src/sections/hack.rs b/crates/config/src/sections/experimental.rs similarity index 79% rename from crates/config/src/sections/hack.rs rename to crates/config/src/sections/experimental.rs index ae72cda8..5c224495 100644 --- a/crates/config/src/sections/hack.rs +++ b/crates/config/src/sections/experimental.rs @@ -25,24 +25,27 @@ fn default_token_ttl() -> Duration { Duration::minutes(5) } -/// Configuration sections for miscellaneous options +/// Configuration sections for experimental options +/// +/// Do not change these options unless you know what you are doing. #[serde_as] #[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)] -pub struct HackConfig { - /// Time-to-live of access tokens in seconds +pub struct ExperimentalConfig { + /// Time-to-live of access tokens in seconds. Defaults to 5 minutes. #[schemars(with = "u64", range(min = 60, max = 86400))] #[serde(default = "default_token_ttl")] #[serde_as(as = "serde_with::DurationSeconds")] pub access_token_ttl: Duration, - /// Time-to-live of compatibility access tokens in seconds + /// Time-to-live of compatibility access tokens in seconds. Defaults to 5 + /// minutes. #[schemars(with = "u64", range(min = 60, max = 86400))] #[serde(default = "default_token_ttl")] #[serde_as(as = "serde_with::DurationSeconds")] pub compat_token_ttl: Duration, } -impl Default for HackConfig { +impl Default for ExperimentalConfig { fn default() -> Self { Self { access_token_ttl: default_token_ttl(), @@ -52,9 +55,9 @@ impl Default for HackConfig { } #[async_trait] -impl ConfigurationSection for HackConfig { +impl ConfigurationSection for ExperimentalConfig { fn path() -> &'static str { - "hack" + "experimental" } async fn generate(_rng: R) -> anyhow::Result diff --git a/crates/config/src/sections/mod.rs b/crates/config/src/sections/mod.rs index 6a206ba6..91ec41eb 100644 --- a/crates/config/src/sections/mod.rs +++ b/crates/config/src/sections/mod.rs @@ -20,7 +20,7 @@ use serde::{Deserialize, Serialize}; mod clients; mod database; mod email; -mod hack; +mod experimental; mod http; mod matrix; mod passwords; @@ -34,7 +34,7 @@ pub use self::{ clients::{ClientAuthMethodConfig, ClientConfig, ClientsConfig}, database::{ConnectConfig as DatabaseConnectConfig, DatabaseConfig}, email::{EmailConfig, EmailSmtpMode, EmailTransportConfig}, - hack::HackConfig, + experimental::ExperimentalConfig, http::{ BindConfig as HttpBindConfig, HttpConfig, ListenerConfig as HttpListenerConfig, Resource as HttpResource, TlsConfig as HttpTlsConfig, UnixOrTcp, @@ -103,9 +103,9 @@ pub struct RootConfig { #[serde(default)] pub upstream_oauth2: UpstreamOAuth2Config, - /// Miscellaneous configuration options + /// Experimental configuration options #[serde(default)] - pub hack: HackConfig, + pub experimental: ExperimentalConfig, } #[async_trait] @@ -130,7 +130,7 @@ impl ConfigurationSection for RootConfig { matrix: MatrixConfig::generate(&mut rng).await?, policy: PolicyConfig::generate(&mut rng).await?, upstream_oauth2: UpstreamOAuth2Config::generate(&mut rng).await?, - hack: HackConfig::generate(&mut rng).await?, + experimental: ExperimentalConfig::generate(&mut rng).await?, }) } @@ -147,7 +147,7 @@ impl ConfigurationSection for RootConfig { matrix: MatrixConfig::test(), policy: PolicyConfig::test(), upstream_oauth2: UpstreamOAuth2Config::test(), - hack: HackConfig::test(), + experimental: ExperimentalConfig::test(), } } } @@ -179,7 +179,7 @@ pub struct AppConfig { pub policy: PolicyConfig, #[serde(default)] - pub hack: HackConfig, + pub experimental: ExperimentalConfig, } #[async_trait] @@ -201,7 +201,7 @@ impl ConfigurationSection for AppConfig { secrets: SecretsConfig::generate(&mut rng).await?, matrix: MatrixConfig::generate(&mut rng).await?, policy: PolicyConfig::generate(&mut rng).await?, - hack: HackConfig::generate(&mut rng).await?, + experimental: ExperimentalConfig::generate(&mut rng).await?, }) } @@ -215,7 +215,7 @@ impl ConfigurationSection for AppConfig { secrets: SecretsConfig::test(), matrix: MatrixConfig::test(), policy: PolicyConfig::test(), - hack: HackConfig::test(), + experimental: ExperimentalConfig::test(), } } } diff --git a/docs/config.schema.json b/docs/config.schema.json index aee13b1b..9ad3b7f5 100644 --- a/docs/config.schema.json +++ b/docs/config.schema.json @@ -45,15 +45,15 @@ } ] }, - "hack": { - "description": "Miscellaneous configuration options", + "experimental": { + "description": "Experimental configuration options", "default": { "access_token_ttl": 300, "compat_token_ttl": 300 }, "allOf": [ { - "$ref": "#/definitions/HackConfig" + "$ref": "#/definitions/ExperimentalConfig" } ] }, @@ -724,12 +724,12 @@ } ] }, - "HackConfig": { - "description": "Configuration sections for miscellaneous options", + "ExperimentalConfig": { + "description": "Configuration sections for experimental options\n\nDo not change these options unless you know what you are doing.", "type": "object", "properties": { "access_token_ttl": { - "description": "Time-to-live of access tokens in seconds", + "description": "Time-to-live of access tokens in seconds. Defaults to 5 minutes.", "default": 300, "type": "integer", "format": "uint64", @@ -737,7 +737,7 @@ "minimum": 60.0 }, "compat_token_ttl": { - "description": "Time-to-live of compatibility access tokens in seconds", + "description": "Time-to-live of compatibility access tokens in seconds. Defaults to 5 minutes.", "default": 300, "type": "integer", "format": "uint64",