#!/bin/sh

set -eu

HOST="$1"
USER="$2"
shift 2

if [ "$#" -eq 0 ]; then
    echo "Error: debe enviar al menos una ruta para desplegar" >&2
    exit 1
fi

mkdir -p ~/.ssh
chmod 700 ~/.ssh

echo "generando archivo id_rsa con credenciales"
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa

chmod 600 ~/.ssh/id_rsa

ssh-keyscan -H $HOST >> ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts

cat ~/.ssh/id_rsa

echo "Verificando conexión SSH a $HOST con usuario $USER"
ssh-keygen -y -f ~/.ssh/id_rsa

#ssh -vvv -i ~/.ssh/id_rsa "$USER@$HOST"

ssh -n -i ~/.ssh/id_rsa -o StrictHostKeyChecking=no "$USER@$HOST" "
$(for PATH_APP in "$@"; do
    cat <<EOF
    cd '$PATH_APP' &&
    git reset --hard HEAD &&
    git clean -fd &&
    git pull origin master || exit 1
EOF
done)
"

echo "Deploy OK en $HOST para rutas: $*"
