diff --git a/libs/pageserver_api/src/config.rs b/libs/pageserver_api/src/config.rs index 8f56d60a4a..d13149f966 100644 --- a/libs/pageserver_api/src/config.rs +++ b/libs/pageserver_api/src/config.rs @@ -180,6 +180,8 @@ pub struct ConfigToml { #[serde(skip_serializing_if = "Option::is_none")] pub generate_unarchival_heatmap: Option, pub tracing: Option, + + pub dev_mode: bool, } #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] @@ -631,6 +633,7 @@ impl Default for ConfigToml { load_previous_heatmap: None, generate_unarchival_heatmap: None, tracing: None, + dev_mode: false, } } } diff --git a/pageserver/src/bin/pageserver.rs b/pageserver/src/bin/pageserver.rs index e82544c58d..122bde017a 100644 --- a/pageserver/src/bin/pageserver.rs +++ b/pageserver/src/bin/pageserver.rs @@ -79,7 +79,7 @@ fn main() -> anyhow::Result<()> { return Ok(()); } - let dev_mode = arg_matches.get_flag("dev"); + let cli_dev_mode = arg_matches.get_flag("dev"); // Initialize up failpoints support let scenario = failpoint_support::init(); @@ -101,6 +101,8 @@ fn main() -> anyhow::Result<()> { let (conf, ignored) = initialize_config(&identity_file_path, &cfg_file_path, &workdir)?; + let dev_mode = cli_dev_mode || conf.dev_mode; + if !dev_mode { if matches!(conf.http_auth_type, AuthType::Trust) || matches!(conf.pg_auth_type, AuthType::Trust) diff --git a/pageserver/src/config.rs b/pageserver/src/config.rs index ccc29e59d4..6f88984bb1 100644 --- a/pageserver/src/config.rs +++ b/pageserver/src/config.rs @@ -219,6 +219,8 @@ pub struct PageServerConf { pub generate_unarchival_heatmap: bool, pub tracing: Option, + + pub dev_mode: bool, } /// Token for authentication to safekeepers @@ -441,6 +443,7 @@ impl PageServerConf { page_service_pipelining, get_vectored_concurrent_io, tracing, + dev_mode, // ------------------------------------------------------------ // fields that require additional validation or custom handling