From 663feba85dc05f2a2cecadb593ca498c96e97250 Mon Sep 17 00:00:00 2001 From: kjuulh Date: Mon, 27 Nov 2023 22:18:05 +0100 Subject: [PATCH] feat: can use ssh sock Signed-off-by: kjuulh --- crates/cuddle-ci/src/rust_service.rs | 50 ++++++++++++++++------------ 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/crates/cuddle-ci/src/rust_service.rs b/crates/cuddle-ci/src/rust_service.rs index fc41050..6be7ef2 100644 --- a/crates/cuddle-ci/src/rust_service.rs +++ b/crates/cuddle-ci/src/rust_service.rs @@ -341,28 +341,36 @@ impl MainAction for RustService { let update_deployments_docker_image = "docker.io/kasperhermansen/update-deployment:1690401410"; - self.client + let dep = self + .client .container() - .from(update_deployments_docker_image) - .with_env_variable("GIT_USERNAME", "kjuulh") - .with_env_variable( - "GIT_PASSWORD", - std::env::var("GIT_PASSWORD").expect("GIT_PASSWORD to be set"), - ) - .with_exec(vec![ - "update-deployment", - "--repo", - &format!( - "https://git.front.kjuulh.io/kjuulh/{}-deployment.git", - self.bin_name - ), - "--service", - &self.bin_name, - "--image", - &format!("kasperhermansen/{}:main-{}", self.bin_name, timestamp), - ]) - .sync() - .await?; + .from(update_deployments_docker_image); + + let dep = if let Some(sock) = std::env::var("SSH_AUTH_SOCK").ok() { + dep.with_unix_socket("/tmp/ssh_sock", self.client.host().unix_socket(sock)) + .with_env_variable("SSH_AUTH_SOCK", "/tmp/ssh_sock") + } else { + dep.with_env_variable("GIT_USERNAME", "kjuulh") + .with_env_variable( + "GIT_PASSWORD", + std::env::var("GIT_PASSWORD").expect("GIT_PASSWORD to be set"), + ) + }; + + dep.with_exec(vec![ + "update-deployment", + "--repo", + &format!( + "https://git.front.kjuulh.io/kjuulh/{}-deployment.git", + self.bin_name + ), + "--service", + &self.bin_name, + "--image", + &format!("kasperhermansen/{}:main-{}", self.bin_name, timestamp), + ]) + .sync() + .await?; Ok(()) }