diff --git a/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 b/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 index 9fe466b..cfcb627 100644 --- a/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 +++ b/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 @@ -49,7 +49,10 @@ $BaseImageReference = "sha256:$BaseImageSha256" $BuildMethod = "docker-commit-exact-layer-v1" $MaximumLayerBytes = [int64](32MB) $ImageWorkdir = "/opt/nodedc/mission-core" -$ImageEntrypoint = '["python3","-m","k1link.observatory.m49_worker_container_main"]' +# Windows PowerShell reconstructs native command lines and strips unescaped +# JSON quotes. Docker commit must receive the escaped quotes so the change is +# parsed as exec-form ENTRYPOINT instead of shell form. +$ImageEntrypoint = '[\"python3\",\"-m\",\"k1link.observatory.m49_worker_container_main\"]' $ImageCommand = '[]' $FixedEnvironment = @( "PYTHONPATH=/opt/nodedc/mission-core/src:/opt/nodedc/mission-core/deps", diff --git a/tests/test_worker_006_agent_image_installer.py b/tests/test_worker_006_agent_image_installer.py index 32beabf..92a4729 100644 --- a/tests/test_worker_006_agent_image_installer.py +++ b/tests/test_worker_006_agent_image_installer.py @@ -31,6 +31,11 @@ def test_worker_agent_installer_is_local_offline_and_non_buildkit() -> None: "LABEL org.opencontainers.image.title=" "NODE.DC-Observatory-Worker-006-agent" ) in script + assert ( + "$ImageEntrypoint = " + "'[\\\"python3\\\",\\\"-m\\\"," + "\\\"k1link.observatory.m49_worker_container_main\\\"]'" + ) in script assert 'title="NODE.DC Observatory Worker 006 agent"' not in script assert "docker rm -f $containerId" in script assert "docker rm -f $containerName" not in script