#!/bin/bash
set -euo pipefail

source "${HOME}/bin/script_framework.sh"

port="${1:-}"
[[ -n $port ]] || fatal "Missing local port as first argument"

# Get real shareport command
shareport=$(which -a shareport | grep -v $0 | head -n1)

step "Fetching secrets..."
export IDENTITY_FILE=$(mktemp)
export IDENTITY_FILE_PASSWORD=$(vault read -field=passphrase secret/ssh-key/shareport)

vault read -field=private secret/ssh-key/shareport >${IDENTITY_FILE}

# Configure remote
export REMOTE_HOST=knut.dev:22
export REMOTE_SCRIPT="${HOME}/.config/shareport.remote.sh"
export REMOTE_USER=shareport

# Setup removal of SSH key after exit
function cleanup() {
	step "Cleaning up..."
	rm -f ${IDENTITY_FILE}
}
trap cleanup EXIT

step "Starting shareport..."
$shareport --local-addr "localhost:$1"