48 lines
1023 B
Bash
48 lines
1023 B
Bash
rsync_cmd() {
|
|
rsync -e "ssh -F ${SSH_CONFIG_DIR}/config" ${@}
|
|
}
|
|
|
|
ssh_cmd() {
|
|
if [[ "x${PROMENADE_DEBUG}" = "x1" ]]; then
|
|
EXTRA_ARGS=-v
|
|
else
|
|
EXTRA_ARGS=
|
|
fi
|
|
ssh -F ${SSH_CONFIG_DIR}/config ${EXTRA_ARGS} ${@}
|
|
}
|
|
|
|
ssh_config_declare() {
|
|
log Validating SSH config exists
|
|
if [ ! -s ${SSH_CONFIG_DIR}/config ]; then
|
|
log Creating SSH config
|
|
env -i \
|
|
SSH_CONFIG_DIR=${SSH_CONFIG_DIR} \
|
|
envsubst < ${TEMPLATE_DIR}/ssh-config.sub > ${SSH_CONFIG_DIR}/config
|
|
fi
|
|
}
|
|
|
|
ssh_keypair_declare() {
|
|
log Validating SSH keypair exists
|
|
if [ ! -s ${SSH_CONFIG_DIR}/id_rsa ]; then
|
|
log Generating SSH keypair
|
|
ssh-keygen -N '' -f ${SSH_CONFIG_DIR}/id_rsa &>> ${LOG_FILE}
|
|
fi
|
|
}
|
|
|
|
ssh_load_pubkey() {
|
|
cat ${SSH_CONFIG_DIR}/id_rsa.pub
|
|
}
|
|
|
|
ssh_setup_declare() {
|
|
mkdir -p ${SSH_CONFIG_DIR}
|
|
ssh_keypair_declare
|
|
ssh_config_declare
|
|
}
|
|
|
|
ssh_wait() {
|
|
NAME=${1}
|
|
while ! ssh_cmd ${NAME} /bin/true; do
|
|
sleep 0.5
|
|
done
|
|
}
|