#!/usr/bin/env bash # Unified Deployment Framework # Consolidates all deploy/setup/install scripts into one parameterized framework # Usage: ./scripts/deploy.sh [component] [options] [host] set -euo pipefail # Load IP configuration SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true # Load shared modules SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/lib/ip-config.sh" 2>/dev/null || true source "$SCRIPT_DIR/lib/logging.sh" 2>/dev/null || true source "$SCRIPT_DIR/lib/proxmox-api.sh" 2>/dev/null || true source "$SCRIPT_DIR/lib/ssh-helpers.sh" 2>/dev/null || true # Default values COMPONENT="${1:-all}" OPTIONS="${2:-}" HOST="${3:-${PROXMOX_HOST_ML110:-192.168.11.10}}" PHASE="${PHASE:-}" # Show usage show_usage() { cat <