From 17aa14c903ab6c285cab8bc8a41509ec730cf88c Mon Sep 17 00:00:00 2001 From: Denny Britz Date: Mon, 5 Oct 2026 10:19:59 +0900 Subject: [PATCH 1/2] refactor(fal): define the local uploader socket directory --- .../fal/src/fal/toolkit/file/_local_uploader.py | 5 ++++- .../unit/toolkit/file/test_local_uploader.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/projects/fal/src/fal/toolkit/file/_local_uploader.py b/projects/fal/src/fal/toolkit/file/_local_uploader.py index 47117fca8..de4946464 100644 --- a/projects/fal/src/fal/toolkit/file/_local_uploader.py +++ b/projects/fal/src/fal/toolkit/file/_local_uploader.py @@ -17,7 +17,10 @@ if TYPE_CHECKING: import httpx -DEFAULT_SOCKET_PATH = "/run/fal-upload/upload.sock" +# Keep in sync with infra/modules/nomad_jobs/jobs.tf and isolate-cloud's +# projects/isolate_controller/src/isolate_controller/scheduler/nomad/forger.py. +DEFAULT_SOCKET_DIR = "/run/fal-upload" +DEFAULT_SOCKET_PATH = f"{DEFAULT_SOCKET_DIR}/upload.sock" _TIMEOUT = 300 _CONNECT_TIMEOUT = 5 _PRINTABLE_ASCII = "".join(map(chr, range(0x20, 0x7F))) diff --git a/projects/fal/tests/unit/toolkit/file/test_local_uploader.py b/projects/fal/tests/unit/toolkit/file/test_local_uploader.py index 98da10ffe..21052fe89 100644 --- a/projects/fal/tests/unit/toolkit/file/test_local_uploader.py +++ b/projects/fal/tests/unit/toolkit/file/test_local_uploader.py @@ -28,6 +28,22 @@ STARTED = {**ACCEPTED, "upload_id": "session-id", "state": "receiving"} +@pytest.mark.parametrize("socket_path", [None, "/tmp/custom-uploader.sock"]) +def test_client_socket_path(monkeypatch, socket_path): + monkeypatch.delenv("CDN_UPLOADER_SOCKET_PATH", raising=False) + if socket_path is not None: + monkeypatch.setenv("CDN_UPLOADER_SOCKET_PATH", socket_path) + transport = Mock(wraps=httpx.HTTPTransport) + monkeypatch.setattr(httpx, "HTTPTransport", transport) + + with _local_uploader._new_client(): + pass + + assert transport.call_args.kwargs["uds"] == ( + socket_path if socket_path is not None else "/run/fal-upload/upload.sock" + ) + + @pytest.fixture def transport(monkeypatch): requests = [] From 50ec4fc48bc4941369b0979ad5400b63408206ff Mon Sep 17 00:00:00 2001 From: Denny Britz Date: Mon, 5 Oct 2026 10:23:55 +0900 Subject: [PATCH 2/2] refactor(fal): keep only the consumed socket default --- projects/fal/src/fal/toolkit/file/_local_uploader.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/projects/fal/src/fal/toolkit/file/_local_uploader.py b/projects/fal/src/fal/toolkit/file/_local_uploader.py index de4946464..cf83bb76a 100644 --- a/projects/fal/src/fal/toolkit/file/_local_uploader.py +++ b/projects/fal/src/fal/toolkit/file/_local_uploader.py @@ -19,8 +19,7 @@ # Keep in sync with infra/modules/nomad_jobs/jobs.tf and isolate-cloud's # projects/isolate_controller/src/isolate_controller/scheduler/nomad/forger.py. -DEFAULT_SOCKET_DIR = "/run/fal-upload" -DEFAULT_SOCKET_PATH = f"{DEFAULT_SOCKET_DIR}/upload.sock" +DEFAULT_SOCKET_PATH = "/run/fal-upload/upload.sock" _TIMEOUT = 300 _CONNECT_TIMEOUT = 5 _PRINTABLE_ASCII = "".join(map(chr, range(0x20, 0x7F)))