@@ -42,6 +42,7 @@ VALID_IMG_TYPES=(
4242 vmware_ova
4343 vmware_raw
4444 xen
45+ ionoscloud
4546)
4647
4748# list of oem package names, minus the oem- prefix
@@ -68,6 +69,7 @@ VALID_OEM_PACKAGES=(
6869 vagrant-virtualbox
6970 virtualbox
7071 vmware
72+ ionoscloud
7173)
7274
7375# Set at runtime to one of the above types
@@ -341,6 +343,14 @@ IMG_proxmoxve_OEM_PACKAGE=common-oem-files
341343IMG_proxmoxve_OEM_USE=proxmoxve
342344IMG_proxmoxve_OEM_SYSEXT=oem-proxmoxve
343345
346+ # # ionoscloud
347+ IMG_ionoscloud_OEM_USE=ionoscloud
348+ IMG_ionoscloud_OEM_PACKAGE=oem-ionoscloud
349+ IMG_ionoscloud_DISK_LAYOUT=ionoscloud
350+ IMG_ionoscloud_DISK_FORMAT=qcow2
351+ IMG_ionoscloud_DISK_EXTENSION=qcow2
352+ IMG_ionoscloud_FS_HOOK=ionoscloud
353+
344354# ##########################################################
345355
346356# Print the default vm type for the specified board
@@ -619,6 +629,16 @@ _run_box_fs_hook() {
619629 sudo rm -fr " ${VM_TMP_ROOT} /oem/box"
620630}
621631
632+ _run_ionoscloud_fs_hook () {
633+ # Prepare root partition for IONOS Cloud legacy injection
634+ # This is a workaround until the IONOS Cloud introduces a metadata server
635+ sudo mount -o remount,rw " ${VM_TMP_ROOT} "
636+ sudo mkdir -p " ${VM_TMP_ROOT} /var/lib/cloud/seed/nocloud"
637+ sudo mkdir -p " ${VM_TMP_ROOT} /etc/cloud"
638+ sudo touch " ${VM_TMP_ROOT} /etc/cloud/cloud.cfg"
639+ sudo mount -o remount,ro " ${VM_TMP_ROOT} "
640+ }
641+
622642# Write the vm disk image to the target directory in the proper format
623643write_vm_disk () {
624644 if [[ $( _get_vm_opt PARTITIONED_IMG) -eq 1 ]]; then
0 commit comments