-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
25 changed files
with
5,258 additions
and
1,080 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,193 @@ | ||
From 202d7e30789bb909ecb0ee088320831360a8ce19 Mon Sep 17 00:00:00 2001 | ||
From: Jan Larwig <[email protected]> | ||
Date: Mon, 21 Oct 2024 10:58:14 +0200 | ||
Subject: [PATCH 1/2] add ionoscloud support | ||
|
||
--- | ||
build_library/vm_image_util.sh | 21 +++++++++++++++++++ | ||
.../afterburn/files/coreos-metadata.service | 2 ++ | ||
.../common-oem-files-0-r8.ebuild | 1 + | ||
.../files/ionoscloud/grub.cfg.frag | 1 + | ||
.../coreos-cloudinit-9999.ebuild | 4 ++-- | ||
.../coreos-init/coreos-init-9999.ebuild | 4 ++-- | ||
.../coreos-base/oem-ionoscloud/metadata.xml | 4 ++++ | ||
.../oem-ionoscloud/oem-ionoscloud-0.ebuild | 15 +++++++++++++ | ||
.../sys-apps/ignition/ignition-9999.ebuild | 2 +- | ||
9 files changed, 49 insertions(+), 5 deletions(-) | ||
create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/ionoscloud/grub.cfg.frag | ||
create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/metadata.xml | ||
create mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/oem-ionoscloud-0.ebuild | ||
|
||
diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh | ||
index ecaa792d5a..4d7fa6e8df 100644 | ||
--- a/build_library/vm_image_util.sh | ||
+++ b/build_library/vm_image_util.sh | ||
@@ -41,6 +41,7 @@ VALID_IMG_TYPES=( | ||
vmware_ova | ||
vmware_raw | ||
xen | ||
+ ionoscloud | ||
) | ||
|
||
#list of oem package names, minus the oem- prefix | ||
@@ -66,6 +67,7 @@ VALID_OEM_PACKAGES=( | ||
vagrant-virtualbox | ||
virtualbox | ||
vmware | ||
+ ionoscloud | ||
) | ||
|
||
# Set at runtime to one of the above types | ||
@@ -332,6 +334,15 @@ IMG_akamai_OEM_PACKAGE=common-oem-files | ||
IMG_akamai_OEM_USE=akamai | ||
IMG_akamai_OEM_SYSEXT=oem-akamai | ||
|
||
+## ionoscloud | ||
+IMG_ionoscloud_OEM_USE=ionoscloud | ||
+IMG_ionoscloud_OEM_SYSEXT=oem-ionoscloud | ||
+IMG_ionoscloud_OEM_PACKAGE=common-oem-files | ||
+IMG_ionoscloud_DISK_LAYOUT=vm | ||
+IMG_ionoscloud_DISK_FORMAT=qcow2 | ||
+IMG_ionoscloud_DISK_EXTENSION=qcow2 | ||
+IMG_ionoscloud_FS_HOOK=ionoscloud | ||
+ | ||
########################################################### | ||
|
||
# Print the default vm type for the specified board | ||
@@ -610,6 +621,16 @@ _run_box_fs_hook() { | ||
sudo rm -fr "${VM_TMP_ROOT}/oem/box" | ||
} | ||
|
||
+_run_ionoscloud_fs_hook() { | ||
+ # Prep root parition for IONOS Cloud legacy injection | ||
+ # This is a workaround until the IONOS Cloud introduces a metadata server | ||
+ sudo mount -o remount,rw "${VM_TMP_ROOT}" | ||
+ sudo mkdir -p "${VM_TMP_ROOT}/var/lib/cloud/seed/nocloud" | ||
+ sudo mkdir -p "${VM_TMP_ROOT}/etc/cloud" | ||
+ sudo touch "${VM_TMP_ROOT}/etc/cloud/cloud.cfg" | ||
+ sudo mount -o remount,ro "${VM_TMP_ROOT}" | ||
+} | ||
+ | ||
# Write the vm disk image to the target directory in the proper format | ||
write_vm_disk() { | ||
if [[ $(_get_vm_opt PARTITIONED_IMG) -eq 1 ]]; then | ||
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service | ||
index facc01224d..c96e509c30 100644 | ||
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service | ||
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/afterburn/files/coreos-metadata.service | ||
@@ -25,6 +25,8 @@ ConditionKernelCommandLine=|flatcar.oem.id=kubevirt | ||
|
||
ConditionKernelCommandLine=|flatcar.oem.id=akamai | ||
|
||
+ConditionKernelCommandLine=|flatcar.oem.id=ionoscloud | ||
+ | ||
Description=Flatcar Metadata Agent | ||
|
||
[Service] | ||
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r8.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r8.ebuild | ||
index 9c69deac34..a8e0b1736e 100644 | ||
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r8.ebuild | ||
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/common-oem-files-0-r8.ebuild | ||
@@ -38,6 +38,7 @@ COMMON_OEMIDS=( | ||
qemu | ||
scaleway | ||
kubevirt | ||
+ ionoscloud | ||
) | ||
|
||
ARM64_ONLY_OEMIDS=( | ||
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/ionoscloud/grub.cfg.frag b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/ionoscloud/grub.cfg.frag | ||
new file mode 100644 | ||
index 0000000000..4f9e06c2c8 | ||
--- /dev/null | ||
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/common-oem-files/files/ionoscloud/grub.cfg.frag | ||
@@ -0,0 +1 @@ | ||
+set linux_append="flatcar.autologin" | ||
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild | ||
index 834af69793..3499aea430 100644 | ||
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild | ||
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-cloudinit/coreos-cloudinit-9999.ebuild | ||
@@ -2,7 +2,7 @@ | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
-EGIT_REPO_URI="https://github.com/flatcar/coreos-cloudinit.git" | ||
+EGIT_REPO_URI="https://github.com/tuunit/flatcar-cloudinit.git" | ||
COREOS_GO_PACKAGE="github.com/flatcar/coreos-cloudinit" | ||
COREOS_GO_GO111MODULE="on" | ||
inherit git-r3 systemd toolchain-funcs udev coreos-go | ||
@@ -10,7 +10,7 @@ inherit git-r3 systemd toolchain-funcs udev coreos-go | ||
if [[ "${PV}" == 9999 ]]; then | ||
KEYWORDS="~amd64 ~arm64" | ||
else | ||
- EGIT_COMMIT="f3aaab923de5075524780716635f25564b5e6934" # flatcar-master | ||
+ EGIT_COMMIT="57fac09cb2f4c13b89f6baec46569a3e66a3b29b" # feat/ionoscloud-support | ||
KEYWORDS="amd64 arm64" | ||
fi | ||
|
||
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild | ||
index 3340856180..299ffdd522 100644 | ||
--- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild | ||
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild | ||
@@ -3,12 +3,12 @@ | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
-EGIT_REPO_URI="https://github.com/flatcar/init.git" | ||
+EGIT_REPO_URI="https://github.com/tuunit/flatcar-init.git" | ||
|
||
if [[ "${PV}" == 9999 ]]; then | ||
KEYWORDS="~amd64 ~arm ~arm64 ~x86" | ||
else | ||
- EGIT_COMMIT="05b4b2aafbe706bdd65265c7a7103ed75fee14d2" # flatcar-master | ||
+ EGIT_COMMIT="a226d804b740bba9906e1beefe1ca51cba28dcdc" # flatcar-master | ||
KEYWORDS="amd64 arm arm64 x86" | ||
fi | ||
|
||
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/metadata.xml b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/metadata.xml | ||
new file mode 100644 | ||
index 0000000000..097975e3ad | ||
--- /dev/null | ||
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/metadata.xml | ||
@@ -0,0 +1,4 @@ | ||
+<?xml version="1.0" encoding="UTF-8"?> | ||
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> | ||
+<pkgmetadata> | ||
+</pkgmetadata> | ||
diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/oem-ionoscloud-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/oem-ionoscloud-0.ebuild | ||
new file mode 100644 | ||
index 0000000000..c4127bb87b | ||
--- /dev/null | ||
+++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/oem-ionoscloud/oem-ionoscloud-0.ebuild | ||
@@ -0,0 +1,15 @@ | ||
+# Copyright (c) 2013 CoreOS, Inc.. All rights reserved. | ||
+# Distributed under the terms of the GNU General Public License v2 | ||
+ | ||
+EAPI=8 | ||
+ | ||
+DESCRIPTION="OEM suite for IONOS Cloud" | ||
+HOMEPAGE="https://cloud.ionos.com" | ||
+SRC_URI="" | ||
+ | ||
+LICENSE="GPL-2" | ||
+SLOT="0" | ||
+KEYWORDS="amd64" | ||
+IUSE="" | ||
+ | ||
+OEM_NAME="IONOS Cloud" | ||
diff --git a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild | ||
index c2dc426836..5572d380a4 100644 | ||
--- a/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild | ||
+++ b/sdk_container/src/third_party/coreos-overlay/sys-apps/ignition/ignition-9999.ebuild | ||
@@ -10,7 +10,7 @@ inherit coreos-go git-r3 systemd udev | ||
if [[ "${PV}" == 9999 ]]; then | ||
KEYWORDS="~amd64 ~arm64" | ||
else | ||
- EGIT_COMMIT="a204f429f13194ae379be9401d49e5241439660b" # v2.20.0 | ||
+ EGIT_COMMIT="488d302a0863ede5b723aea4ddd558f96e318569" # v2.20.0 | ||
KEYWORDS="amd64 arm64" | ||
fi | ||
|
||
-- | ||
2.45.2 | ||
|
Oops, something went wrong.