@@ -42,6 +42,8 @@ VALID_IMG_TYPES=(
42
42
vmware_ova
43
43
vmware_raw
44
44
xen
45
+ ionoscloud
46
+ ionoscloud_raw
45
47
)
46
48
47
49
# list of oem package names, minus the oem- prefix
@@ -68,6 +70,7 @@ VALID_OEM_PACKAGES=(
68
70
vagrant-virtualbox
69
71
virtualbox
70
72
vmware
73
+ ionoscloud
71
74
)
72
75
73
76
# Set at runtime to one of the above types
@@ -341,6 +344,20 @@ IMG_proxmoxve_OEM_PACKAGE=common-oem-files
341
344
IMG_proxmoxve_OEM_USE=proxmoxve
342
345
IMG_proxmoxve_OEM_SYSEXT=oem-proxmoxve
343
346
347
+ # # ionoscloud
348
+ IMG_ionoscloud_OEM_USE=ionoscloud
349
+ IMG_ionoscloud_OEM_PACKAGE=oem-ionoscloud
350
+ IMG_ionoscloud_DISK_LAYOUT=ionoscloud
351
+ IMG_ionoscloud_DISK_FORMAT=qcow2
352
+ IMG_ionoscloud_DISK_EXTENSION=qcow2
353
+ IMG_ionoscloud_FS_HOOK=ionoscloud
354
+
355
+ # # ionoscloud_raw
356
+ IMG_ionoscloud_raw_OEM_USE=ionoscloud
357
+ IMG_ionoscloud_raw_OEM_PACKAGE=oem-ionoscloud
358
+ IMG_ionoscloud_raw_DISK_LAYOUT=ionoscloud
359
+ IMG_ionoscloud_raw_FS_HOOK=ionoscloud
360
+
344
361
# ##########################################################
345
362
346
363
# Print the default vm type for the specified board
@@ -619,6 +636,16 @@ _run_box_fs_hook() {
619
636
sudo rm -fr " ${VM_TMP_ROOT} /oem/box"
620
637
}
621
638
639
+ _run_ionoscloud_fs_hook () {
640
+ # Prepare root partition for IONOS Cloud legacy injection
641
+ # This is a workaround until the IONOS Cloud introduces a metadata server
642
+ sudo mount -o remount,rw " ${VM_TMP_ROOT} "
643
+ sudo mkdir -p " ${VM_TMP_ROOT} /var/lib/cloud/seed/nocloud"
644
+ sudo mkdir -p " ${VM_TMP_ROOT} /etc/cloud"
645
+ sudo touch " ${VM_TMP_ROOT} /etc/cloud/cloud.cfg"
646
+ sudo mount -o remount,ro " ${VM_TMP_ROOT} "
647
+ }
648
+
622
649
# Write the vm disk image to the target directory in the proper format
623
650
write_vm_disk () {
624
651
if [[ $( _get_vm_opt PARTITIONED_IMG) -eq 1 ]]; then
0 commit comments