#!/usr/local/bin/bash
#/ Usage: ghe-restore-packages <host>
#/
#/ Note: This script typically isn't called directly. It's invoked by the
#/ ghe-restore command.
set -e

# Bring in the backup configuration
# shellcheck source=share/github-backup-utils/ghe-backup-config
. "$( dirname "${BASH_SOURCE[0]}" )/ghe-backup-config"

# Show usage and bail with no arguments
[ -z "$*" ] && print_usage

bm_start "$(basename $0)"

# Grab host arg
GHE_HOSTNAME="$1"

# The snapshot to restore should be set by the ghe-restore command but this lets
# us run this script directly.
: ${GHE_RESTORE_SNAPSHOT:=current}

# Path to snapshot dir we're restoring from
export GHE_RESTORE_SNAPSHOT_PATH="$GHE_DATA_DIR/$GHE_RESTORE_SNAPSHOT"

port=$(ssh_port_part "$GHE_HOSTNAME")
export port
host=$(ssh_host_part "$GHE_HOSTNAME")

# Perform a host-check and establish GHE_REMOTE_XXX variables.
ghe_remote_version_required "$host"

# Restore Packages settings.
ghe_verbose "Restoring Packages settings ..."

restore-secret "Packages aws access key" "packages-aws-access-key" "secrets.packages.aws-access-key"
restore-secret "Packages aws secret key" "packages-aws-secret-key" "secrets.packages.aws-secret-key"
restore-secret "Packages s3 bucket" "packages-s3-bucket" "secrets.packages.s3-bucket"
restore-secret "Packages storage service url" "packages-service-url" "secrets.packages.service-url"
restore-secret "Packages blob storage type" "packages-blob-storage-type" "secrets.packages.blob-storage-type"
restore-secret "Packages azure connection string" "packages-azure-connection-string" "secrets.packages.azure-connection-string"
restore-secret "Packages azure container name" "packages-azure-container-name" "secrets.packages.azure-container-name"

bm_end "$(basename $0)"
