summaryrefslogtreecommitdiff
path: root/others/vm3/.config/cloud-init-generator/freebsd14.0.shbackup
diff options
context:
space:
mode:
Diffstat (limited to 'others/vm3/.config/cloud-init-generator/freebsd14.0.shbackup')
-rwxr-xr-xothers/vm3/.config/cloud-init-generator/freebsd14.0.shbackup59
1 files changed, 0 insertions, 59 deletions
diff --git a/others/vm3/.config/cloud-init-generator/freebsd14.0.shbackup b/others/vm3/.config/cloud-init-generator/freebsd14.0.shbackup
deleted file mode 100755
index 81fcc72..0000000
--- a/others/vm3/.config/cloud-init-generator/freebsd14.0.shbackup
+++ /dev/null
@@ -1,59 +0,0 @@
1#!/bin/bash
2# generates configuration for FreeBSD VM deployment
3# requires the name of the vm as an argument
4
5image_url="https://download.freebsd.org/releases/VM-IMAGES/14.2-RELEASE/amd64/Latest/FreeBSD-14.2-RELEASE-amd64-BASIC-CLOUDINIT.zfs.qcow2.xz"
6sshkeysdir="/root/k"
7scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8dir_path="/var/lib/libvirt/images/.image_store"
9src_file="${dir_path}/freebsd14.0.qcow2"
10config_dir="/var/lib/libvirt/images/.temp"
11user_data="${config_dir}/user-data"
12meta_data="${config_dir}/meta-data"
13seed_iso="${config_dir}/seed.iso"
14
15if [ $# -ne 1 ]; then
16 echo "Usage: $0 <vm-name>"
17 exit 1
18fi
19
20sudo mkdir -p "$dir_path"
21sudo mkdir -p "$config_dir"
22
23# Download and extract FreeBSD image if it doesn't exist
24if [ ! -f "$src_file" ]; then
25 echo "source image does not exist! downloading..."
26 sudo wget -O "${src_file}.xz" "$image_url"
27 sudo xz -d "${src_file}.xz"
28fi
29
30# Note: FreeBSD uses a different user setup mechanism
31cat > "$user_data" << EOF
32#cloud-config
33users:
34 - name: user
35 ssh-authorized-keys:
36EOF
37
38for key in $sshkeysdir/*.pub; do
39 echo " - $(cat "$key")" >> $user_data
40done
41
42cat >> "$user_data" << 'EOF'
43 sudo: ['ALL=(ALL) NOPASSWD:ALL']
44 groups: wheel
45 shell: /bin/sh
46runcmd:
47 - pw usermod user -s /bin/sh
48 - pkg update -f
49 - pkg install -y vim git sudo
50 - touch /home/user/runcmd_done
51EOF
52
53cat > "$meta_data" << EOF
54instance-id: vm_id
55local-hostname: $1
56EOF
57
58genisoimage -output "$seed_iso" -volid cidata -joliet -rock "$user_data" "$meta_data" &> /dev/null || { echo "Failed to create seed.iso."; exit 1; }
59echo "Configuration files generated successfully"