Skip to content

Commit

Permalink
temp: ignition patch
Browse files Browse the repository at this point in the history
  • Loading branch information
tuunit committed Nov 4, 2024
1 parent eaea93e commit 1780145
Show file tree
Hide file tree
Showing 25 changed files with 5,258 additions and 1,080 deletions.
193 changes: 193 additions & 0 deletions 0001-add-ionoscloud-support.patch
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

Loading

0 comments on commit 1780145

Please sign in to comment.