#!/usr/bin/env bash
set -euo pipefail

SOURCE_DIR="${1:-/etc/homeassistant}"
TARGET_HOST="${2:?Usage: edge-backup.sh <source-dir> <ssh-host>}"
TARGET_DIR="${3:-/srv/backups/edge}"
STAMP="$(date -u +%Y%m%dT%H%M%SZ)"
ARCHIVE="/tmp/edge-config-${STAMP}.tar.gz"

tar -czf "$ARCHIVE" -C "$SOURCE_DIR" .
ssh "$TARGET_HOST" "mkdir -p '$TARGET_DIR'"
scp "$ARCHIVE" "$TARGET_HOST:$TARGET_DIR/"
rm -f "$ARCHIVE"

echo "Backup uploaded to $TARGET_HOST:$TARGET_DIR/edge-config-${STAMP}.tar.gz"
