Bring script headers onto the template and close safeguard gaps
Headers claimed protections the code never had, and several destructive paths had no guard against a collapsed config value.
This commit is contained in:
@@ -51,6 +51,12 @@
|
||||
# OPERATIONAL SAFEGUARDS
|
||||
# ==============================================================================================
|
||||
#
|
||||
# Root Enforcement
|
||||
# Docker network operations require root privileges.
|
||||
#
|
||||
# Docker Presence Check
|
||||
# Verifies the docker binary exists before any network operations.
|
||||
#
|
||||
# Lock Acquisition
|
||||
# Prevents concurrent execution via acquire_lock(). Safe to call from
|
||||
# array start hooks or manually without risk of overlap.
|
||||
@@ -71,8 +77,10 @@
|
||||
# Warns and exits cleanly if NETWORK_CONNECT_NETWORKS or
|
||||
# NETWORK_CONNECT_CONTAINERS are unconfigured.
|
||||
#
|
||||
# Command Validation
|
||||
# Validates unRAID notify script before use.
|
||||
# Missing Container Tolerance
|
||||
# A configured container that does not exist yet warns and is skipped rather
|
||||
# than failing the run. This script executes early at array start, before
|
||||
# every container has necessarily been created.
|
||||
#
|
||||
# ==============================================================================================
|
||||
# CONFIGURATION
|
||||
@@ -130,13 +138,12 @@ fi
|
||||
# detect_hosts() sets MY_ID and aliases HOST*_NETWORK_CONNECT_* arrays
|
||||
detect_hosts
|
||||
|
||||
# Validate unRAID notify script — used for network creation alerts
|
||||
|
||||
# Docker daemon check — network operations are useless if daemon is hung
|
||||
DOCKER_TIMEOUT=15
|
||||
if ! timeout "$DOCKER_TIMEOUT" docker info >/dev/null 2>&1; then
|
||||
error "Docker daemon not responding — cannot manage networks"
|
||||
notify "docker_network_connect failed on $(hostname) — Docker daemon not responding" "Network Connect" "warning"
|
||||
notify "docker_network_connect failed on $(hostname) — Docker daemon not responding" \
|
||||
"Network Connect" "warning"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -291,7 +298,8 @@ if [[ "$DRY_RUN" == true ]]; then
|
||||
warn "DRY RUN — no changes made"
|
||||
elif [[ ${#FAILED[@]} -gt 0 ]]; then
|
||||
echo "$ICON_ERROR Status: SOME OPERATIONS FAILED"
|
||||
notify "Docker network connect failed on $(hostname) — ${FAILED[*]}" "Network Connect" "warning"
|
||||
notify "Docker network connect failed on $(hostname) — ${FAILED[*]}" \
|
||||
"Network Connect" "warning"
|
||||
elif [[ ${#NETWORKS_CREATED[@]} -gt 0 ]]; then
|
||||
warn "Networks recreated — ${NETWORKS_CREATED[*]} — unRAID update likely wiped them"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user