From 78037f8603aa2ab2aa377fc8a111ea5ba31e9d68 Mon Sep 17 00:00:00 2001 From: Nathan Thillairajah Date: Wed, 23 Sep 2026 15:58:32 -0400 Subject: [PATCH 1/2] Accept the canonical Public staging Apps ingress --- src/bl/apps.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/bl/apps.rs b/src/bl/apps.rs index 56fe1d4..6000c87 100644 --- a/src/bl/apps.rs +++ b/src/bl/apps.rs @@ -57,6 +57,7 @@ const CONTROL_PLANE_RESPONSE_MAX_BYTES: usize = 2 * 1024 * 1024; const TRUSTED_CONTROL_PLANE_HOSTS: &[&str] = &[ "compose-ctrl.test.blockstaging.build", "compose-ctrl.app.builderlab.xyz", + "compose-ctrl.apps.builderlabstaging.xyz", ]; pub fn command() -> Command { @@ -3891,6 +3892,8 @@ mod tests { for trusted in [ "https://compose-ctrl.test.blockstaging.build", "https://compose-ctrl.app.builderlab.xyz", + "https://compose-ctrl.apps.builderlabstaging.xyz", + "https://compose-ctrl.apps.builderlabstaging.xyz:443", "https://compose-ctrl.test.blockstaging.build:443", ] { assert!( @@ -3908,6 +3911,11 @@ mod tests { "https://compose-ctrl.test.blockstaging.build:444", "https://compose-ctrl.app.builderlab.xyz.attacker.example", "https://compose-ctrl.app.builderlab.xyz:444", + "http://compose-ctrl.apps.builderlabstaging.xyz", + "https://compose-ctrl.apps.builderlabstaging.xyz.attacker.example", + "https://compose-ctrl.apps.builderlabstaging.xyz:444", + "https://user@compose-ctrl.apps.builderlabstaging.xyz", + "https://app.builderlabstaging.xyz", "https://user@compose-ctrl.test.blockstaging.build", "http://localhost:8080", "https://localhost:8080", From 07f117fcab2fd105de0fb3a6e46b41669ec61caf Mon Sep 17 00:00:00 2001 From: Nathan Thillairajah Date: Wed, 23 Sep 2026 16:05:48 -0400 Subject: [PATCH 2/2] Correct the Public production Apps control-plane hostname --- src/bl/apps.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/bl/apps.rs b/src/bl/apps.rs index 6000c87..7fe675e 100644 --- a/src/bl/apps.rs +++ b/src/bl/apps.rs @@ -56,7 +56,7 @@ const CONTROL_PLANE_REQUEST_TIMEOUT: Duration = Duration::from_secs(3 * 60); const CONTROL_PLANE_RESPONSE_MAX_BYTES: usize = 2 * 1024 * 1024; const TRUSTED_CONTROL_PLANE_HOSTS: &[&str] = &[ "compose-ctrl.test.blockstaging.build", - "compose-ctrl.app.builderlab.xyz", + "compose-ctrl.apps.builderlab.xyz", "compose-ctrl.apps.builderlabstaging.xyz", ]; @@ -3891,7 +3891,8 @@ mod tests { for trusted in [ "https://compose-ctrl.test.blockstaging.build", - "https://compose-ctrl.app.builderlab.xyz", + "https://compose-ctrl.apps.builderlab.xyz", + "https://compose-ctrl.apps.builderlab.xyz:443", "https://compose-ctrl.apps.builderlabstaging.xyz", "https://compose-ctrl.apps.builderlabstaging.xyz:443", "https://compose-ctrl.test.blockstaging.build:443", @@ -3907,10 +3908,14 @@ mod tests { "https://attacker.example", "https://test.blockstaging.build", "https://app.builderlab.xyz", + "https://compose-ctrl.app.builderlab.xyz", + "https://compose-ctrl.app.builderlabstaging.xyz", + "http://compose-ctrl.apps.builderlab.xyz", + "https://user@compose-ctrl.apps.builderlab.xyz", "https://compose-ctrl.test.blockstaging.build.attacker.example", "https://compose-ctrl.test.blockstaging.build:444", - "https://compose-ctrl.app.builderlab.xyz.attacker.example", - "https://compose-ctrl.app.builderlab.xyz:444", + "https://compose-ctrl.apps.builderlab.xyz.attacker.example", + "https://compose-ctrl.apps.builderlab.xyz:444", "http://compose-ctrl.apps.builderlabstaging.xyz", "https://compose-ctrl.apps.builderlabstaging.xyz.attacker.example", "https://compose-ctrl.apps.builderlabstaging.xyz:444",