#!/usr/bin/env sh
set -eu

pull_url='https://dl.mimir.broz.uk/bootstrap/releases/20260902T062557Z/pull.sh'
pull_sha256='6fdf6134b231ad599cfad511ccc5a5e5e37bdd67a61bcc0560cce076cff9fc16'
work="$(mktemp -d /tmp/mimir-install.XXXXXX)"
pull="$work/pull.sh"

cleanup() {
  find "$work" -depth -mindepth 1 -delete 2>/dev/null || true
  rmdir "$work" 2>/dev/null || true
}
trap cleanup EXIT INT TERM

if curl --version >/dev/null 2>&1; then
  curl -fsSL "$pull_url" -o "$pull"
elif command -v wget >/dev/null 2>&1; then
  wget -qO "$pull" "$pull_url"
elif command -v python3 >/dev/null 2>&1; then
  python3 - "$pull_url" "$pull" <<'PY'
import sys
import urllib.request
urllib.request.urlretrieve(sys.argv[1], sys.argv[2])
PY
else
  echo "no working downloader: need curl, wget, or python3" >&2
  exit 1
fi
printf '%s  %s\n' "$pull_sha256" "$pull" | sha256sum -c -

if [ "$(id -u)" -eq 0 ]; then
  MIM_NODE_NAME="${MIM_NODE_NAME:-${NODE:-}}" \
  MIM_REGION="${MIM_REGION:-${REGION:-}}" \
  MIM_BOOTSTRAP_FOOTPRINT_ONLY="${MIM_BOOTSTRAP_FOOTPRINT_ONLY:-}" \
  MIM_BOOTSTRAP_IDENTITY_ONLY="${MIM_BOOTSTRAP_IDENTITY_ONLY:-}" \
    sh "$pull"
else
  command -v sudo >/dev/null 2>&1 || {
    echo "sudo is required when the installer is not run as root" >&2
    exit 1
  }
  sudo env \
    MIM_NODE_NAME="${MIM_NODE_NAME:-${NODE:-}}" \
    MIM_REGION="${MIM_REGION:-${REGION:-}}" \
    MIM_BOOTSTRAP_FOOTPRINT_ONLY="${MIM_BOOTSTRAP_FOOTPRINT_ONLY:-}" \
    MIM_BOOTSTRAP_IDENTITY_ONLY="${MIM_BOOTSTRAP_IDENTITY_ONLY:-}" \
    sh "$pull"
fi
