Newer
Older
#!/usr/bin/env bash
# Scope: Create wireguard keys for all monitoringVPN hosts
# Parameters:
# file: path to grid.nix of morph deployment
# Output: Key files for all monitoring VPN hosts _in_the_current_directory_
# Convention: the IP ending in ".1" will be symlinked to server.{key,pub}
set -euo pipefail
umask 077
if [[ $# -ne 1 ]]; then
echo "Illegal number of parameters. Expected: file (path of grid.nix)"
exit 2
fi
MONITORING_IPS=$(fgrep monitoringvpnIPv4 ${1} | egrep -o "[0-9\.]{7,15}")
VPNSERVER_IP=$(fgrep monitoringvpnIPv4 ${1} | egrep -o -m1 "[0-9\.]{5,13}\.1")
for i in $MONITORING_IPS; do
wg genkey | tee ${i}.key | wg pubkey > ${i}.pub
done
ln -fs $VPNSERVER_IP.key server.key
ln -fs $VPNSERVER_IP.pub server.pub
wg genpsk > preshared.key
# EOF