15 lines
565 B
Bash
Executable File
15 lines
565 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
if [[ -n "$GIT_SSH_PRIVATE_KEY" ]]; then
|
|
key_filename="${SSH_ID_ALGORITHM:=id_ed25519}"
|
|
mkdir -p "$HOME/.ssh"
|
|
chmod 700 "$HOME/.ssh"
|
|
log-entrypoint 'Add SSH key from env var.'
|
|
decoded_git_ssh_private_key=$(echo -e "$GIT_SSH_PRIVATE_KEY" | base64 -d)
|
|
echo "$decoded_git_ssh_private_key" > "$HOME/.ssh/$key_filename"
|
|
chmod 600 "$HOME/.ssh/$key_filename"
|
|
eval "$(ssh-agent -s)"
|
|
ssh-add "$HOME/.ssh/$key_filename" || (echo "Dumping $HOME/.ssh/$key_filename content:" && cat "$HOME/.ssh/$key_filename")
|
|
fi
|