feat(diagnostics): add read-only WireGuard health checks

This commit is contained in:
2026-10-13 21:37:47 +03:00
parent 75f7547add
commit 67a9e3fe03
10 changed files with 553 additions and 8 deletions
+15
View File
@@ -11,5 +11,20 @@ fi
if [[ $# == 0 && "$allow_empty" == "$command_name" ]]; then
exit 0
fi
if [[ $# == 4 && $1 == link && $2 == show && $3 == dev ]]; then
[[ $4 == ${WG_MOCK_INTERFACE:-wg0} ]] || exit 99
[[ ${DIAG_IP_LINK_FAIL:-0} == 1 ]] && exit 98
printf '%s\n' "${DIAG_IP_LINK_OUTPUT:-$4: <UP> mtu 1420}"; exit 0
fi
if [[ $# == 5 && $1 == -o && $2 == addr && $3 == show && $4 == dev ]]; then
[[ $5 == ${WG_MOCK_INTERFACE:-wg0} ]] || exit 99
[[ ${DIAG_IP_ADDR_FAIL:-0} == 1 ]] && exit 98
printf '%s\n' "${DIAG_IP_ADDR_OUTPUT:-}"; exit 0
fi
if [[ $# == 6 && $1 == -o && $2 == route && $3 == show && $5 == dev ]]; then
[[ $6 == ${WG_MOCK_INTERFACE:-wg0} ]] || exit 99
[[ ${DIAG_IP_ROUTE_FAIL:-0} == 1 ]] && exit 98
printf '%s\n' "${DIAG_IP_ROUTE_OUTPUT:-}"; exit 0
fi
printf 'Unexpected mock invocation: %s received arguments\n' "$command_name" >&2
exit 99
+4
View File
@@ -11,5 +11,9 @@ fi
if [[ $# == 0 && "$allow_empty" == "$command_name" ]]; then
exit 0
fi
if [[ $# == 3 && $1 == -t && $2 == nat && $3 == -S ]]; then
[[ ${DIAG_IPTABLES_FAIL:-0} == 1 ]] && exit 98
printf '%s\n' "${DIAG_IPTABLES_OUTPUT:-}"; exit 0
fi
printf 'Unexpected mock invocation: %s received arguments\n' "$command_name" >&2
exit 99
+4
View File
@@ -11,5 +11,9 @@ fi
if [[ $# == 0 && "$allow_empty" == "$command_name" ]]; then
exit 0
fi
if [[ $# == 5 && $1 == -u && $2 == wg-quick@${WG_MOCK_INTERFACE:-wg0} && $3 == --since && $4 == '24 hours ago' && $5 == --no-pager ]]; then
[[ ${DIAG_JOURNAL_FAIL:-0} == 1 ]] && exit 98
printf '%s\n' "${DIAG_JOURNAL_OUTPUT:-}"; exit 0
fi
printf 'Unexpected mock invocation: %s received arguments\n' "$command_name" >&2
exit 99
+4
View File
@@ -11,5 +11,9 @@ fi
if [[ $# == 0 && "$allow_empty" == "$command_name" ]]; then
exit 0
fi
if [[ $# == 2 && $1 == list && $2 == ruleset ]]; then
[[ ${DIAG_NFT_FAIL:-0} == 1 ]] && exit 98
printf '%s\n' "${DIAG_NFT_OUTPUT:-}"; exit 0
fi
printf 'Unexpected mock invocation: %s received arguments\n' "$command_name" >&2
exit 99
+4
View File
@@ -11,5 +11,9 @@ fi
if [[ $# == 0 && "$allow_empty" == "$command_name" ]]; then
exit 0
fi
if [[ $# == 1 && $1 == -lun ]]; then
[[ ${DIAG_SS_FAIL:-0} == 1 ]] && exit 98
printf '%s\n' "${DIAG_SS_OUTPUT:-}"; exit 0
fi
printf 'Unexpected mock invocation: %s received arguments\n' "$command_name" >&2
exit 99
+12
View File
@@ -11,5 +11,17 @@ fi
if [[ $# == 0 && "$allow_empty" == "$command_name" ]]; then
exit 0
fi
if [[ $# == 3 && $1 == is-active && $2 == -- && $3 == wg-quick@${WG_MOCK_INTERFACE:-wg0} ]]; then
case ${SYSTEMCTL_STATE:-missing} in
active|inactive|failed|unknown) printf '%s\n' "$SYSTEMCTL_STATE"; [[ $SYSTEMCTL_STATE == active || $SYSTEMCTL_STATE == unknown ]] && exit 0 || exit 3 ;;
esac
fi
if [[ $# == 1 && $1 == is-system-running ]]; then
case ${SYSTEMCTL_INIT:-missing} in
running) printf '%s\n' "$SYSTEMCTL_INIT"; exit 0 ;;
degraded) printf '%s\n' "$SYSTEMCTL_INIT"; exit 1 ;;
*) printf '%s\n' "${SYSTEMCTL_INIT:-offline}"; exit 3 ;;
esac
fi
printf 'Unexpected mock invocation: %s received arguments\n' "$command_name" >&2
exit 99