Files
proxmox/scripts/load-ip-config.sh

20 lines
922 B
Bash
Raw Normal View History

#!/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}"