#!/usr/bin/env bash
# 00-init-lxd.sh — install LXD 5.21 LTS (snap) on Ubuntu 26.04 and apply the preseed.
set -euo pipefail

LXD_CHANNEL="5.21/stable"
PRESEED_FILE="$(dirname "$0")/../lxd-preseed.yaml"

echo "==> Removing any deb-packaged lxd/lxc (snap is canonical on 26.04)"
sudo apt-get remove -y lxd lxd-client 2>/dev/null || true

echo "==> Installing LXD ${LXD_CHANNEL} via snap"
sudo snap install lxd --channel="${LXD_CHANNEL}"
sudo snap refresh lxd --channel="${LXD_CHANNEL}"

echo "==> Adding current user to the lxd group (log out/in or 'newgrp lxd' after this)"
sudo usermod -aG lxd "${USER}"

echo "==> Waiting for the LXD daemon socket"
sudo lxd waitready --timeout=60

echo "==> Applying preseed: ${PRESEED_FILE}"
cat "${PRESEED_FILE}" | sudo lxd init --preseed

echo "==> Result:"
lxc network list
lxc storage list
lxc profile list

echo "==> Done. If 'lxc list' fails with a permission error, run: newgrp lxd"
