From d5c9bfa75e79b83770e99fa1a446bca3bd8da1ac Mon Sep 17 00:00:00 2001 From: John Spray Date: Tue, 5 Sep 2023 16:24:45 +0100 Subject: [PATCH] pageserver: enable disabling control_plane_api with an override This is just for testing. Eventually we'll remove this after everything is upgraded. --- pageserver/src/config.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pageserver/src/config.rs b/pageserver/src/config.rs index 89ba3b6310..df2f8e92e9 100644 --- a/pageserver/src/config.rs +++ b/pageserver/src/config.rs @@ -475,8 +475,8 @@ impl PageServerConfigBuilder { self.background_task_maximum_delay = BuilderValue::Set(delay); } - pub fn control_plane_api(&mut self, api: Url) { - self.control_plane_api = BuilderValue::Set(Some(api)) + pub fn control_plane_api(&mut self, api: Option) { + self.control_plane_api = BuilderValue::Set(api) } pub fn build(self) -> anyhow::Result { @@ -755,7 +755,14 @@ impl PageServerConf { }, "ondemand_download_behavior_treat_error_as_warn" => builder.ondemand_download_behavior_treat_error_as_warn(parse_toml_bool(key, item)?), "background_task_maximum_delay" => builder.background_task_maximum_delay(parse_toml_duration(key, item)?), - "control_plane_api" => builder.control_plane_api(parse_toml_string(key, item)?.parse().context("failed to parse control plane URL")?), + "control_plane_api" => { + let parsed = parse_toml_string(key, item)?; + if parsed.is_empty() { + builder.control_plane_api(None) + } else { + builder.control_plane_api(Some(parsed.parse().context("failed to parse control plane URL")?)) + } + }, _ => bail!("unrecognized pageserver option '{key}'"), } }