* Use site variables to update image flavor and name
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Typo
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Prefix variable names with distro name in os-release
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Adapt tests to read os-release with prefix
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Adapt docs to show how to read os-release with prefix
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Update SDK to be aware of attr prefixes
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Adapt test with new variable names
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Temporarily print the os-release
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Check KAIROS_VERSION on tests and fallback to VERSION
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Match kubo ID and VERSION_ID
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Make kubo extension match any ID
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Test still fails, trying with surrounding quotes
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Reduce tests wait time
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Use tumbleweed for bundles tests
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Update docs about systemd-sysext
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* reduce wait time in reset tests
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
🌱 Generate arm64 generic isos
- Use latest osbuilder tools image as it contains fixes for arm64 isos
- Add a small job to build an iso as part of the image arm workflow
- Rework /boot/vmlinuz linking so it works on x86 and arm64
This also adds an iso-remote target for earthfile that allows to build
an iso from a remote rootfs in the shape of a docker artifact. This
allows for easy reproduce of isos based on existing artifacts instead of
having to rebuild the whole thing. You point to the artifact and it
spits an iso really fast. Also works with arm64 artifacts so we can
easily build a local arm64 iso for testing for pushed artifacts.
This PR makes it so generation of isos for arm64 works.
Signed-off-by: Itxaka <itxakaserrano@gmail.com>
* Pass VERSION flag including v2 in path
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Pass VERSION flag including v2 in path for goreleaser
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Add version to goreleaser
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* do not remove github token
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* include version in dist target
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Add missing flag to pass the version
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Bump go in Earthly and workflows to ^1.20
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Update go.mod version
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Lint
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Remove pin of go version to get the latest
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Remove minor version
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* 🐛 Fix validator on long strings
Validator was mistakenly identifying a long yaml as a file and trying to
open it, which failed with an error of filename too long.
This was not catched in order to identify that the source is not a file
but a yaml, so it was directly returning the error.
This patch adds that error to the list in order ot identify the source
to validate as yaml. Also adds a couple of tests for this functionality.
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* 🐛 Merge initramfs generation between distros
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
---------
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
We were listing on a dir that now doesn't exist necessarly anymore, and
when picking up the iso from latest release, we are selectively
pickingone flavor for the upgrade test.
Signed-off-by: mudler <mudler@c3os.io>
* ⚠️🎨✨ Use immucore
Build kairos with immmucore instead of cos-immutable-rootfs
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* 🐛 Fix state sdk
State sdk is using ghw to identify the state of the disks, but
unfortunately ghw only works with devices and not with labels
This patch adds a workaround by checking deeper for partitions that
migth not have mountpoints reported by ghw but are indeed mounted
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* 🐛 Fix state not catching netboot properly
This worked with the old cos-immutable-rootfs due to the rd.cos.disable
stanza in cmdline making the livecd cloud config file trigger, which
created the livecd sentinel file.
With immucore, the sentinel is being created during initramfs directly
so we need to rely on the cmdline to identify it.
State sdk should know that having the netboot stanza should identify the
boot as cdlive
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Fix custom binds set as RW_PATHS
RW_PATHS are meant for overlay dirs which go away after a reboot.
Custom binds/binds are mounted under COS_PERSISTENT, so they persist
after reboot AND are RW by default.
This patch removes adding the custom binds into the RW_PATHS on the
cos-layout file as that can lead to unintended consequences
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Dont run custom mounts on livecd and recovery
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Rework writing custom ephemeral/binds
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Maybe fix tests
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* Add missing sgdisk to ubuntu images
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
* 🐛 Backport dracut patch for ubuntu 20 iscsi
There was an issue with dracut 48 in which the iscsid.socket required fs
targets to be ready. On an iso this could lead to a dependency cycle
between the dmsquash module setting up the livecd rootfs and the iscsi
socket required the initrd-fs to be ready.
This was fixed on dracut 50 and its what this patch brings, dropping the
socket dependency on the fs target so it can break the dependency cycle.
This only affect ubuntu 20 lts, and only affects booting from the iso.
Alos the issue is random as systemd will decide to break the dependency
in a non predictable way by disabling one of the services that conflict,
so sometimes it would be the iscsi serviec, which would make the iso
boot but sometimes it could be other more important services liek teh
local fs or the dracut pre-mount services.
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
(cherry picked from commit 63f0c75d69ab3adca143f917c2e31b75ca3d96c7)
* Bump immucore
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
---------
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
* 🐛 Add back gdisk to ubuntu/debian images
Signed-off-by: mudler <mudler@c3os.io>
* 🤖 No need to install mkisofs here
Signed-off-by: mudler <mudler@c3os.io>
---------
Signed-off-by: mudler <mudler@c3os.io>