Fallback echo/log audit pass — fallback.sh, fallback_test.sh + Manual
Remove setup banners from fallback.sh and fallback_test.sh. Add Host Detection to fallback.sh OPERATIONAL SAFEGUARDS; add Lock Acquisition + Host Detection to fallback_test.sh. Add output tiers section to Manual-Fallback.md documenting daemon vs one-shot output behaviour.
This commit is contained in:
@@ -568,6 +568,24 @@ If it has happened:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## ━━━ OUTPUT TIERS ━━━
|
||||||
|
|
||||||
|
Both scripts have two output levels controlled by `--log`.
|
||||||
|
|
||||||
|
**fallback.sh** — daemon, runs continuously. Without `--log`, only state transitions,
|
||||||
|
warnings, errors, and the startup banner are visible. Per-cycle detail (ping results,
|
||||||
|
state evaluation) is suppressed — the daemon runs every 15–30 seconds and clean cycles
|
||||||
|
produce no output by design. State transitions are always visible because they are the
|
||||||
|
events that matter. Use `--log` when debugging why the state machine is or is not
|
||||||
|
acting.
|
||||||
|
|
||||||
|
**fallback_test.sh** — one-shot test harness. Without `--log`, phase headers, pass/fail
|
||||||
|
results, and the final test report are always visible. Per-container checks within each
|
||||||
|
phase are suppressed. With `--log`, every check in every phase is shown. Warnings and
|
||||||
|
errors are always visible regardless of `--log`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## ━━━ FLAG REFERENCE ━━━
|
## ━━━ FLAG REFERENCE ━━━
|
||||||
|
|
||||||
### fallback.sh
|
### fallback.sh
|
||||||
|
|||||||
@@ -111,6 +111,10 @@
|
|||||||
# acquire_lock() prevents two instances running simultaneously. Both would
|
# acquire_lock() prevents two instances running simultaneously. Both would
|
||||||
# modify containers and DDNS independently — conflict is certain.
|
# modify containers and DDNS independently — conflict is certain.
|
||||||
#
|
#
|
||||||
|
# Host Detection
|
||||||
|
# detect_hosts() resolves MY_ID / REMOTE_ID from master.conf at startup.
|
||||||
|
# Exits if the host cannot be identified — prevents running on an unknown machine.
|
||||||
|
#
|
||||||
# Silent by Default
|
# Silent by Default
|
||||||
# State transitions: warn() — always visible. Healthy routine cycles: log()
|
# State transitions: warn() — always visible. Healthy routine cycles: log()
|
||||||
# — suppressed unless --log. Produces no output on clean cycles.
|
# — suppressed unless --log. Produces no output on clean cycles.
|
||||||
@@ -246,8 +250,6 @@ fi
|
|||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
# ━━━ Setup ━━━
|
# ━━━ Setup ━━━
|
||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
echo ""
|
|
||||||
echo "━━━ $ICON_GEAR Setup ━━━"
|
|
||||||
|
|
||||||
if [[ "$EUID" -ne 0 ]]; then
|
if [[ "$EUID" -ne 0 ]]; then
|
||||||
error "Must be run as root"
|
error "Must be run as root"
|
||||||
|
|||||||
@@ -60,6 +60,14 @@
|
|||||||
# Remote Docker Daemon Check
|
# Remote Docker Daemon Check
|
||||||
# Pre-flight confirms remote Docker daemon is responsive before Phase 2.
|
# Pre-flight confirms remote Docker daemon is responsive before Phase 2.
|
||||||
#
|
#
|
||||||
|
# Lock Acquisition
|
||||||
|
# acquire_lock() prevents concurrent test runs. Running two tests simultaneously
|
||||||
|
# would produce conflicting iptables rules and unreliable results.
|
||||||
|
#
|
||||||
|
# Host Detection
|
||||||
|
# detect_hosts() resolves MY_ID / REMOTE_ID from master.conf at startup.
|
||||||
|
# Exits if the host cannot be identified — prevents testing on an unknown machine.
|
||||||
|
#
|
||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
# CONFIGURATION
|
# CONFIGURATION
|
||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
@@ -134,8 +142,6 @@ trap cleanup EXIT
|
|||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
# ━━━ Setup ━━━
|
# ━━━ Setup ━━━
|
||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
echo ""
|
|
||||||
echo "━━━ $ICON_GEAR Setup ━━━"
|
|
||||||
|
|
||||||
if [[ "$EUID" -ne 0 ]]; then
|
if [[ "$EUID" -ne 0 ]]; then
|
||||||
error "Must be run as root"
|
error "Must be run as root"
|
||||||
|
|||||||
Reference in New Issue
Block a user