29 lines
884 B
Bash
Executable File
29 lines
884 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
#SSH_OPT="-o StrictHostKeyChecking=no"
|
|
SSH_OPT=""
|
|
changes=$(git diff --name-only HEAD~ zones)
|
|
|
|
function deploy_conf {
|
|
conf_name="$1"
|
|
host="$2"
|
|
port="$3"
|
|
user="$4"
|
|
|
|
echo "Uploading $conf_name conf on $host "
|
|
scp -P $port $SSH_OPT -i /tmp/key build/knot.${conf_name}.conf $user@$host:/etc/knot/knot.conf
|
|
echo "Reloading $conf_name server $host"
|
|
ssh -p $port $SSH_OPT -i /tmp/key $user@$host knotc reload || echo "Reloading failed"
|
|
}
|
|
if [ -n "$changes" ]; then
|
|
echo "Uploading zones $changes"
|
|
scp -P ${SSH_PRIMARY_PORT} $SSH_OPT -i /tmp/key $changes ${SSH_PRIMARY_USER}@${SSH_PRIMARY_HOST}:/var/lib/knot
|
|
else
|
|
echo "Zones are unchanged, skipping"
|
|
fi
|
|
|
|
deploy_conf "primary" ${SSH_PRIMARY_HOST} ${SSH_PRIMARY_PORT} ${SSH_PRIMARY_USER}
|
|
deploy_conf "secondary" ${SSH_SECONDARY_HOST} ${SSH_SECONDARY_PORT} ${SSH_SECONDARY_USER}
|