From 77dd1b750b5282fff883dc7b819e84c2f20fda82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabor=20K=C3=B6rber?= Date: Sat, 23 May 2026 20:09:46 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A5=87=20export=20from=20upstream=20(b344?= =?UTF-8?q?870)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/sandcage/src/docker.rs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/crates/sandcage/src/docker.rs b/crates/sandcage/src/docker.rs index 4ab80a5..7468fa2 100644 --- a/crates/sandcage/src/docker.rs +++ b/crates/sandcage/src/docker.rs @@ -256,8 +256,8 @@ pub fn build_run_args( // SSH mode-aware mount match config.ssh_mode.as_deref() { Some("volume") => { - args.push("--mount".to_string()); - args.push("type=volume,source=sandcage-ssh,target=/home/agent/.ssh,readonly".to_string()); + args.push("-v".to_string()); + args.push("sandcage-ssh:/home/agent/.ssh:ro".to_string()); } Some("bind") => { let mount = expand_mount_path("~/.ssh:/home/agent/.ssh:ro"); @@ -1015,12 +1015,14 @@ mod tests { ..Default::default() }; let args = build_run_args("claude", "/tmp/compose.yml", &config, false, &[]); - assert!(args.contains(&"--mount".to_string())); - let mount_idx = args.iter().position(|a| a == "--mount").unwrap(); - assert_eq!( - args[mount_idx + 1], - "type=volume,source=sandcage-ssh,target=/home/agent/.ssh,readonly" - ); + let v_positions: Vec<_> = args.iter().enumerate() + .filter(|(_, a)| *a == "-v") + .map(|(i, _)| i) + .collect(); + let has_volume_mount = v_positions.iter().any(|&i| { + args.get(i + 1).map(|a| a == "sandcage-ssh:/home/agent/.ssh:ro").unwrap_or(false) + }); + assert!(has_volume_mount, "should have sandcage-ssh volume mount, args: {:?}", args); } #[test] @@ -1053,7 +1055,7 @@ mod tests { ..Default::default() }; let args = build_run_args("claude", "/tmp/compose.yml", &config, false, &[]); - assert!(!args.contains(&"--mount".to_string())); + assert!(!args.iter().any(|a| a.contains("sandcage-ssh"))); assert!(!args.iter().any(|a| a.contains(".ssh"))); }