homelab/k3s/resilience/wait-for-wg0.sh
Samantha Atkins b7c9dc81a0 cleanup
2026-04-17 20:33:17 -04:00

19 lines
556 B
Bash
Executable file

#!/bin/bash
# Wait for wg0 interface to be up with an IP before allowing k3s to start.
# Used as ExecStartPre in k3s systemd drop-in.
MAX_WAIT=120
INTERVAL=2
ELAPSED=0
while [ $ELAPSED -lt $MAX_WAIT ]; do
if ip link show wg0 >/dev/null 2>&1 && ip addr show wg0 | grep -q 'inet '; then
echo "wg0 is up with IP after ${ELAPSED}s"
exit 0
fi
sleep $INTERVAL
ELAPSED=$((ELAPSED + INTERVAL))
done
echo "ERROR: wg0 not up after ${MAX_WAIT}s — starting k3s anyway"
exit 0 # don't block k3s forever, let the watchdog handle it