From 144c4d75a395eb2b85ec31dc4fa403c9cfeca058 Mon Sep 17 00:00:00 2001 From: Kent Huang Date: Thu, 28 May 2026 09:50:35 +0800 Subject: [PATCH 1/2] Allow dbt Hub through proxy block --- src/razorback/agents/proxy.py | 10 ++++------ tests/unit/test_docker_environment_proxy_separation.py | 4 ++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/razorback/agents/proxy.py b/src/razorback/agents/proxy.py index 2a44ea83..ece5bd4b 100644 --- a/src/razorback/agents/proxy.py +++ b/src/razorback/agents/proxy.py @@ -1,16 +1,14 @@ -# ABOUTME: HTTP egress block — verbatim from run_experiment.py:1497-1525. -# ABOUTME: NO_PROXY exempts the anthropic + statsig + openai + pypi hosts the claude CLI needs. +# ABOUTME: HTTP egress block derived from run_experiment.py:1497-1525. +# ABOUTME: NO_PROXY exempts the API, package, and dbt registry hosts agents need. -# Verbatim copy of run_experiment.py:1509-1513. DO NOT paraphrase the host list — the smoke -# test (Task 1) asserts the path works with EXACTLY these hosts. PROXY_EXEMPT_HOSTS = ( ".anthropic.com,api.anthropic.com,statsig.anthropic.com," "featuregates.org,.statsig.com," ".openai.com,api.openai.com,auth.openai.com,chatgpt.com," - "pypi.org,files.pythonhosted.org,pypi.python.org" + "pypi.org,files.pythonhosted.org,pypi.python.org," + "hub.getdbt.com" ) -# Verbatim copy of run_experiment.py:1515-1525. PROXY_BLOCK_ENV: dict[str, str] = { "HTTP_PROXY": "http://127.0.0.1:1", "HTTPS_PROXY": "http://127.0.0.1:1", diff --git a/tests/unit/test_docker_environment_proxy_separation.py b/tests/unit/test_docker_environment_proxy_separation.py index 835c4f99..1fb68d2e 100644 --- a/tests/unit/test_docker_environment_proxy_separation.py +++ b/tests/unit/test_docker_environment_proxy_separation.py @@ -12,6 +12,10 @@ from razorback.environments.docker import ProxySeparatedDockerEnvironment +def test_proxy_exempt_hosts_include_dbt_hub() -> None: + assert "hub.getdbt.com" in PROXY_EXEMPT_HOSTS.split(",") + + class _Process: returncode = 0 From 67d5d60319a4b241b9c1b2038c397bf84aa09ea4 Mon Sep 17 00:00:00 2001 From: Kent Huang Date: Thu, 28 May 2026 10:04:29 +0800 Subject: [PATCH 2/2] Allow GitHub codeload through proxy block --- src/razorback/agents/proxy.py | 2 +- tests/unit/test_docker_environment_proxy_separation.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/razorback/agents/proxy.py b/src/razorback/agents/proxy.py index ece5bd4b..9b9e4814 100644 --- a/src/razorback/agents/proxy.py +++ b/src/razorback/agents/proxy.py @@ -6,7 +6,7 @@ "featuregates.org,.statsig.com," ".openai.com,api.openai.com,auth.openai.com,chatgpt.com," "pypi.org,files.pythonhosted.org,pypi.python.org," - "hub.getdbt.com" + "hub.getdbt.com,codeload.github.com" ) PROXY_BLOCK_ENV: dict[str, str] = { diff --git a/tests/unit/test_docker_environment_proxy_separation.py b/tests/unit/test_docker_environment_proxy_separation.py index 1fb68d2e..b9da06b8 100644 --- a/tests/unit/test_docker_environment_proxy_separation.py +++ b/tests/unit/test_docker_environment_proxy_separation.py @@ -12,8 +12,10 @@ from razorback.environments.docker import ProxySeparatedDockerEnvironment -def test_proxy_exempt_hosts_include_dbt_hub() -> None: - assert "hub.getdbt.com" in PROXY_EXEMPT_HOSTS.split(",") +def test_proxy_exempt_hosts_include_external_package_registries() -> None: + exempt_hosts = PROXY_EXEMPT_HOSTS.split(",") + assert "hub.getdbt.com" in exempt_hosts + assert "codeload.github.com" in exempt_hosts class _Process: