mirror of
				https://github.com/RogerSik/proxmox-vm-template.git
				synced 2025-11-04 00:27:39 +01:00 
			
		
		
		
	set DIR recognization to be able to execute script outside of project dir and create copy for modified img file
Signed-off-by: Roger Sikorski <roger@sikorski.cloud>
This commit is contained in:
		@@ -1,6 +1,10 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
CURL_LAST_LTS_RELEASE=$(curl -s https://changelogs.ubuntu.com/meta-release-lts | grep Dist: | tail -n1)
 | 
			
		||||
LAST_LTS_RELEASE=${CURL_LAST_LTS_RELEASE:6}
 | 
			
		||||
DIR=$(
 | 
			
		||||
  cd "$(dirname "$0")" || exit 1
 | 
			
		||||
  pwd
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
echo ""
 | 
			
		||||
echo "This script will download and setup an vm with the newest Ubuntu LTS Version ($LAST_LTS_RELEASE)"
 | 
			
		||||
@@ -11,7 +15,7 @@ if [ "$EUID" -ne 0 ]; then
 | 
			
		||||
  exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ ! -f "ssh-keys.pub" ]; then
 | 
			
		||||
if [ ! -f "$DIR/ssh-keys.pub" ]; then
 | 
			
		||||
  echo "Warning ssh-keys.pub doesn't exists"
 | 
			
		||||
  echo "Will abort now"
 | 
			
		||||
  exit
 | 
			
		||||
@@ -28,12 +32,15 @@ read -r VM_NAME
 | 
			
		||||
echo "Ensure libguestfs-tools is installed"
 | 
			
		||||
apt install libguestfs-tools -y
 | 
			
		||||
 | 
			
		||||
echo "Create copy of $LAST_LTS_RELEASE-server-cloudimg-amd64 for image modification"
 | 
			
		||||
cp -r "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.img" "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img"
 | 
			
		||||
 | 
			
		||||
echo "Install qemu-guest-agent on Ubuntu image"
 | 
			
		||||
virt-customize -a "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.img" --install qemu-guest-agent
 | 
			
		||||
virt-customize -a "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img" --install qemu-guest-agent
 | 
			
		||||
 | 
			
		||||
echo "Create Proxmox VM image from Ubuntu Cloud Image"
 | 
			
		||||
qm create "$VM_ID" --memory 1024 --balloon 0 --cores 2 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci
 | 
			
		||||
qm set "$VM_ID" --scsi0 local-lvm:0,import-from="/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.img"
 | 
			
		||||
qm set "$VM_ID" --scsi0 local-lvm:0,import-from="/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img"
 | 
			
		||||
qm set "$VM_ID" --agent enabled=1,fstrim_cloned_disks=1
 | 
			
		||||
 | 
			
		||||
echo "Create Cloud-Init Disk and configure boot"
 | 
			
		||||
@@ -45,5 +52,8 @@ qm set "$VM_ID" \
 | 
			
		||||
  --name "$VM_NAME" \
 | 
			
		||||
  --onboot 1 \
 | 
			
		||||
  --ciuser "devops" \
 | 
			
		||||
  --sshkeys ssh-keys.pub \
 | 
			
		||||
  --sshkeys "$DIR/ssh-keys.pub" \
 | 
			
		||||
  --ipconfig0 "ip=dhcp,ip6=dhcp"
 | 
			
		||||
 | 
			
		||||
echo "Cleanup: delete modified cloudimg"
 | 
			
		||||
rm -f "/tmp/$LAST_LTS_RELEASE-server-cloudimg-amd64.modified.img"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user