mirror of
https://github.com/GoodOlClint/PSProxmoxVE.git
synced 2026-07-28 08:48:57 +00:00
08286303ee
- first-boot.sh: Remove .sources files (PVE 9 DEB822 format) not just .list, and detect suite (trixie vs bookworm) from debian.sources - create-api-token.sh: Accept full endpoint URL (fixes missing port), use /access/domains for API check (no auth needed on PVE 9), avoid pipefail on curl|python3 pipe - preflight-cleanup.sh: New script that runs at start and end of every provisioning run — cleans orphaned VMs, ISOs, and stale terraform state - Workflow: Add pre-flight and final cleanup steps so failed runs can't leave the runner/host in a broken state All changes validated manually on the self-hosted runner. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
957 B
Bash
Executable File
20 lines
957 B
Bash
Executable File
#!/bin/bash
|
|
# First-boot script for nested PVE test instances.
|
|
# Runs once after auto-install completes and the system reboots.
|
|
# Installs qemu-guest-agent so the parent PVE can discover the VM's IP via the guest agent API.
|
|
|
|
set -e
|
|
|
|
# Disable enterprise repos (no subscription) and enable the no-subscription repo
|
|
# PVE 8.x uses .list files, PVE 9.x uses .sources (DEB822 format)
|
|
rm -f /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.sources
|
|
rm -f /etc/apt/sources.list.d/ceph.list /etc/apt/sources.list.d/ceph.sources
|
|
|
|
# Detect suite from existing debian.sources or default to trixie
|
|
SUITE=$(grep -oP 'Suites:\s*\K\S+' /etc/apt/sources.list.d/debian.sources 2>/dev/null | head -1 || echo "trixie")
|
|
echo "deb http://download.proxmox.com/debian/pve ${SUITE} pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
|
|
|
|
apt-get update -qq
|
|
apt-get install -y -qq qemu-guest-agent
|
|
systemctl start qemu-guest-agent
|