feat: update with ssh agent support

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
Kasper Juul Hermansen 2023-07-27 15:24:04 +02:00
parent 68b46e4bec
commit a17c5d1421
Signed by: kjuulh
GPG Key ID: 9AA7BC13CE474394
3 changed files with 12 additions and 6 deletions

View File

@ -26,6 +26,7 @@ steps:
- name: dockersock
path: /var/run
commands:
- ssh-add
- cuddle x build_cuddle_image
environment:
DOCKER_BUILDKIT: 1

View File

@ -121,12 +121,16 @@ fn pull_parent_cuddle_into_local(
) -> anyhow::Result<()> {
let mut rc = RemoteCallbacks::new();
rc.credentials(|_url, username_from_url, _allowed_types| {
git2::Cred::ssh_key(
username_from_url.unwrap(),
None,
Path::new(&format!("{}/.ssh/id_ed25519", env::var("HOME").unwrap())),
None,
)
if "true".to_string() == std::env::var("CUDDLE_SSH_AGENT").ok().unwrap_or("".into()) {
git2::Cred::ssh_key_from_agent(username_from_url.unwrap())
} else {
git2::Cred::ssh_key(
username_from_url.unwrap(),
None,
Path::new(&format!("{}/.ssh/id_ed25519", env::var("HOME").unwrap())),
None,
)
}
});
let mut fo = FetchOptions::new();

View File

@ -21,6 +21,7 @@ RUN cargo install --target x86_64-unknown-linux-musl --path cuddle_cli
FROM docker:dind
RUN apk add bash git
RUN eval `ssh-agent`
COPY --from=1password/op:2 /usr/local/bin/op /usr/local/bin/op