From ccd324dc7943a79dff21347a5851084db608dc89 Mon Sep 17 00:00:00 2001 From: Justin Oros Date: Thu, 16 Apr 2026 13:15:40 -0700 Subject: [PATCH] fix function ordering and RCLONE_CONF used before definition in setup-hub.sh --- hub/setup-hub.sh | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/hub/setup-hub.sh b/hub/setup-hub.sh index 107c918..6e8034c 100644 --- a/hub/setup-hub.sh +++ b/hub/setup-hub.sh @@ -7,6 +7,23 @@ YELLOW='\033[1;33m' CYAN='\033[0;36m' NC='\033[0m' +info() { echo -e "${GREEN}[+]${NC} $*"; } +warn() { echo -e "${YELLOW}[!]${NC} $*"; } +die() { echo -e "${RED}[ERROR]${NC} $*" >&2; exit 1; } +header() { echo -e "\n${CYAN}══════════════════════════════════════════${NC}"; echo -e "${CYAN} $*${NC}"; echo -e "${CYAN}══════════════════════════════════════════${NC}"; } + +check_deps() { + local missing=() + for cmd in "$@"; do + if ! command -v "$cmd" >/dev/null 2>&1; then + missing+=("$cmd") + fi + done + if [ ${#missing[@]} -gt 0 ]; then + die "Missing required dependencies: ${missing[*]}" + fi +} + check_permissions() { local file="$1" local label="$2" @@ -32,24 +49,6 @@ check_permissions() { fi } -info() { echo -e "${GREEN}[+]${NC} $*"; } -check_deps() { - local missing=() - for cmd in "$@"; do - if ! command -v "$cmd" >/dev/null 2>&1; then - missing+=("$cmd") - fi - done - if [ ${#missing[@]} -gt 0 ]; then - die "Missing required dependencies: ${missing[*]}" - fi -} - - -warn() { echo -e "${YELLOW}[!]${NC} $*"; } -die() { echo -e "${RED}[ERROR]${NC} $*" >&2; exit 1; } -header() { echo -e "\n${CYAN}══════════════════════════════════════════${NC}"; echo -e "${CYAN} $*${NC}"; echo -e "${CYAN}══════════════════════════════════════════${NC}"; } - [ "$(id -u)" -eq 0 ] || die "Run as root" check_deps ssh ssh-keygen systemctl useradd groupadd crontab @@ -227,11 +226,6 @@ groupadd fuse 2>/dev/null || true usermod -aG fuse "$HUB_USER" 2>/dev/null || true info "$HUB_USER added to fuse group." -header "Permission Checks" -info "Checking SSH directory permissions..." -check_permissions "$SSH_DIR/authorized_keys" "authorized_keys" -[ -f "$RCLONE_CONF" ] && check_permissions "$RCLONE_CONF" "rclone.conf" || true - header "Rclone Setup" RCLONE_CONF="$ARMBIAN_HOME/.config/rclone/rclone.conf" mkdir -p "$(dirname "$RCLONE_CONF")" @@ -245,6 +239,11 @@ else warn "rclone.conf already exists, skipping." fi +header "Permission Checks" +info "Checking SSH directory permissions..." +check_permissions "$SSH_DIR/authorized_keys" "authorized_keys" +check_permissions "$RCLONE_CONF" "rclone.conf" + header "Mount Point Setup" read -rp "Mount point for spoke filesystems [/mnt/hub]: " MOUNT_POINT MOUNT_POINT="${MOUNT_POINT:-/mnt/hub}"