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

# Updated defaults: NAS lives on VLAN30
NAS_IP="${NAS_IP:-10.10.30.10}"
NAS_EXPORT_PATH="${NAS_EXPORT_PATH:-/volume1/vmstore}"  # Synology default example
MOUNTPOINT="${MOUNTPOINT:-/srv/vmstore}"

echo "[1/5] Install NFS client utils"
sudo dnf -y install nfs-utils >/dev/null

echo "[2/5] Create mountpoint ${MOUNTPOINT}"
sudo mkdir -p "${MOUNTPOINT}"

echo "[3/5] Allow virtualization to use NFS (SELinux)"
sudo setsebool -P virt_use_nfs=on

FSTAB_LINE="${NAS_IP}:${NAS_EXPORT_PATH}  ${MOUNTPOINT}  nfs4  _netdev,vers=4.1,proto=tcp,soft,timeo=6,retrans=2,noatime,x-systemd.automount,x-systemd.idle-timeout=600,nofail  0  0"

echo "[4/5] Ensure fstab entry exists"
if ! grep -qsE "^[^#]*${NAS_IP}:${NAS_EXPORT_PATH}[[:space:]]+${MOUNTPOINT}[[:space:]]+nfs4" /etc/fstab; then
  echo "${FSTAB_LINE}" | sudo tee -a /etc/fstab >/dev/null
  echo "  added: ${FSTAB_LINE}"
else
  echo "  fstab entry already present"
fi

echo "[5/5] Trigger automount by accessing ${MOUNTPOINT}"
sudo /usr/bin/env bash -c "ls -ld ${MOUNTPOINT} >/dev/null 2>&1" || true

echo "Done. Check: systemctl status $(systemd-escape -p ${MOUNTPOINT}).automount"