20 lines
922 B
Bash
20 lines
922 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Load IP configuration for scripts
|
||
|
|
# Usage: source "$(dirname "${BASH_SOURCE[0]}")/scripts/load-ip-config.sh"
|
||
|
|
# Or from scripts/: source "$(dirname "${BASH_SOURCE[0]}")/load-ip-config.sh"
|
||
|
|
|
||
|
|
# Resolve project root (caller's script dir or scripts/)
|
||
|
|
_LOAD_IP_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
if [[ "$_LOAD_IP_SCRIPT_DIR" == *"/scripts" ]]; then
|
||
|
|
_LOAD_IP_PROJECT_ROOT="$(cd "$_LOAD_IP_SCRIPT_DIR/.." && pwd)"
|
||
|
|
else
|
||
|
|
_LOAD_IP_PROJECT_ROOT="$(cd "$_LOAD_IP_SCRIPT_DIR/../.." && pwd)"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# Source .env first (overrides), then ip-addresses.conf
|
||
|
|
[ -f "${_LOAD_IP_PROJECT_ROOT}/.env" ] && source "${_LOAD_IP_PROJECT_ROOT}/.env" 2>/dev/null || true
|
||
|
|
[ -f "${_LOAD_IP_PROJECT_ROOT}/config/ip-addresses.conf" ] && source "${_LOAD_IP_PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
||
|
|
|
||
|
|
# Export for child scripts
|
||
|
|
export PROJECT_ROOT="${PROJECT_ROOT:-$_LOAD_IP_PROJECT_ROOT}"
|