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

if [[ $(id -u) -ne 0 ]]; then
  exec sudo -E bash "$0" "$@"
fi

REPO_BASE_URL="${REPO_BASE_URL:-https://orchael.github.io/bridgectl/apt}"
KEYRING_PATH="/etc/apt/keyrings/bridgectl.gpg"
LIST_PATH="/etc/apt/sources.list.d/bridgectl.list"

suite="${APT_SUITE:-}"
if [[ -z "$suite" && -r /etc/os-release ]]; then
  # shellcheck disable=SC1091
  . /etc/os-release
  suite="${VERSION_CODENAME:-}"
fi

case "$suite" in
  noble|plucky)
    ;;
  *)
    echo "install.sh: unsupported Ubuntu suite: ${suite:-unknown}" >&2
    echo "Supported suites: noble, plucky" >&2
    exit 1
    ;;
esac

export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y ca-certificates curl gnupg
install -d -m 0755 /etc/apt/keyrings
curl -fsSL "$REPO_BASE_URL/bridgectl-archive-keyring.asc" | gpg --dearmor -o "$KEYRING_PATH"
chmod 0644 "$KEYRING_PATH"
arch="$(dpkg --print-architecture)"
cat >"$LIST_PATH" <<EOF
deb [arch=$arch signed-by=$KEYRING_PATH] $REPO_BASE_URL $suite main
EOF
apt-get update
apt-get install -y bridgectl
