1
0
mirror of https://github.com/kairos-io/immucore.git synced 2025-05-13 18:36:06 +00:00
Commit Graph

176 Commits

Author SHA1 Message Date
Itxaka
b2f3615534
🐛 Add custom layout plugin ()
The default plugin does not support gpt

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-09 17:19:15 +01:00
Itxaka
88a2ca8a9b
Conditional for loading oem () 2023-03-09 12:57:10 +01:00
Itxaka
9687ca1ac6 ❇️ Get default yip executor
We are setting the defaults anyway, so we can work with the default
executor instead

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-09 09:17:11 +01:00
Itxaka
8832ec6981
Run yip directly for stages () 2023-03-09 08:58:07 +01:00
renovate[bot]
87b4d756cb
Update module github.com/onsi/ginkgo/v2 to v2.9.0 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-09 00:37:16 +01:00
renovate[bot]
affacd9f42
Update module github.com/urfave/cli/v2 to v2.25.0 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-09 00:36:50 +01:00
Itxaka
9cada0ecd0
🐛 Separate weak steps vs normal steps ()
And dont set any step to weak

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-08 20:05:57 +01:00
Itxaka
41fcc3c03b
🐛 Fix chroot unmounting ()
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-08 19:44:45 +01:00
Itxaka
aa5939da89
Rework workflow ()
This makes immucore run more in parallel rather than block everything
else. We just tell sysroot.mount that eventually it will be mounted and
to wait for a bit.

This allows us to be more flexible where to run and run in parallel in
cases like cdrom in which we may do things but we need the sysroot to be
mounted already but not from us.

Also adds the initramfs stage directly in immucore and merges all the dracut config into one

    Dont create sysroot, just add a timeout override so it waits for us
    Dont block on the service, just make sure to finish before
    initrd.target
    Fix mounts from cmdline
    More proper log
    Store logs under the /run/immucore dir
    Store rootfs and initramfs logs separated
    Do not log the full stages in INFO level
    Run initramfs stage in immucore directly on boot and cd/netboot
    Drop systemd requirement from dracut module

Signed-off-by: Itxaka itxaka.garcia@spectrocloud.com
2023-03-08 11:45:11 +01:00
Itxaka
9672823510
Add Readme ()
* Add Readme

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Apply suggestions from code review

Co-authored-by: Dimitris Karakasilis <jimmykarily@gmail.com>
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Update stanzas with the newer ones and mark them as compatible with the
old ones

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Apply suggestions from code review

Co-authored-by: Mauro Morales <contact@mauromorales.com>
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Add suggestions from review

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
Co-authored-by: Dimitris Karakasilis <jimmykarily@gmail.com>
Co-authored-by: Mauro Morales <contact@mauromorales.com>
2023-03-03 10:11:21 +01:00
Itxaka
167cf5fa0d
🐛 Fix coverage ()
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 19:33:11 +01:00
Itxaka
fecfbf8e92
Add tests and fix some issues that arised from testing ()
* Add tests and fix some issues that arised from testing

Mainly around the cmdargs and how many items it returns.
Also drop the iso target and jobs as its not necessary now

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Lint

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 16:46:25 +01:00
Itxaka
b0b326313b
🐛 Get oem label from cmdline before using runtime ()
Otherwise we are ignoring any override via stanza

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 11:45:05 +01:00
Itxaka
ea5c1c75f2
🐛 Support immucore stanzas in cmdline ()
Introduce support for the same old cos stanzas but with immucore naming
so we can control them better in the future

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 11:10:28 +01:00
Itxaka
6ed15c7227
🐛 Load overlay config from cos-layout.env ()
Load the base overlay config from the cos-layout.env file. This means we
have to depend the base overlay mount to the load-config step, which
moves things a bit in the DAG.

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-02 10:44:54 +01:00
Itxaka
73c4c3e0af
Add missing cmdline stanzas ()
Adds support for:
 - rd.cos.oemtimeout=
 - rd.cos.overlay=tmpfs:SIZE
 - rd.cos.overlay=LABEL=DEVICE_LABEL
 - rd.cos.overlay=UUID=DEVICE_UUID

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 21:45:32 +01:00
Itxaka
68fc3afa24
Fix master to boot normal ()
* Be more careful with commandWithPaths PATHS

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Do not mount all the things :/

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Only mount /proc otherwise we break stuff

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 16:20:45 +01:00
Itxaka
4fabf06d7f Fix running elemental
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 15:47:51 +01:00
Itxaka
2e8e30aa13 Just write to stdout for now
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 15:43:09 +01:00
Itxaka
086227d672
Uki Support ()
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-03-01 11:42:46 +01:00
renovate[bot]
de9ed759eb
Update module github.com/containerd/containerd to v1.6.19 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-01 09:54:13 +01:00
renovate[bot]
c815d845bf
Update module github.com/onsi/gomega to v1.27.2 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-01 09:53:35 +01:00
Itxaka
3a52112b91
Revert "Uki support" (
This reverts commit 985b8c9401.
2023-02-28 19:46:15 +01:00
Itxaka
4cbff2d8d4
Do not mount tmp on livecd/netboot (
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-28 19:24:13 +01:00
Itxaka
985b8c9401
Uki support () 2023-02-28 14:37:02 +01:00
Itxaka
9a480df901 Re-enable longer RW_PATHS
Looks like the problem comes from the custom mounts overriding this
values

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-22 12:21:02 +01:00
Itxaka
97478bd8ac Re-fix overlay and binds
Cleanup at the end, append both

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-22 11:57:38 +01:00
Itxaka
b338cbb250 Reduce list of default RW mounts
According to our config files only /var /etc and /srv are needed as
minimal to boot the system. Lets check if that is true

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-22 11:52:49 +01:00
Itxaka
69b0c0131f Add custom mounts and fix default rw paths
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-22 11:26:59 +01:00
renovate[bot]
931fb0b0ff
Update module github.com/spectrocloud-labs/herd to v0.4.2 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-22 10:59:53 +01:00
Itxaka
bf34119ece
Run command directly without subcommand ()
If immucore is run we should just execute our normal dag stuff directly
instead of having a subcommand.

Keep the version subcommand and dry-flag

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-20 11:14:26 +01:00
renovate[bot]
97752aaa53
Update module github.com/onsi/gomega to v1.27.1 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-20 09:31:31 +01:00
renovate[bot]
a1bf6e8b6f
Update module github.com/onsi/ginkgo/v2 to v2.8.3 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-20 09:30:50 +01:00
Itxaka
5dde396331
Add fsck before mounting ()
Respect all options from systemd-fsck as that it what is currently used
on kairos.

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-17 16:15:26 +01:00
Itxaka
c081f987f8
Fix recovery ()
* Fix recovery

 - change TargetLabel into TargetDevice to hav ethe full device instead
   of just the label
 - log error if we cant mount
 - Get state partition to mount depending on recovery or active/passive
 - Get state patition fs on the fly
 - Set proper label device to mount on sysroot based on our boot state

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Fix test

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-17 11:53:26 +01:00
Itxaka
88df028e6d
Allow setting root to RW ()
This patch allows setting the root mount as RW indicated by setting
rd.cos.debugrw in the cmdline

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-17 09:54:23 +01:00
renovate[bot]
794d658f5e
Update module github.com/onsi/gomega to v1.27.0 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-17 09:28:15 +01:00
Itxaka
4083ff691d
Mark rd.cos.disable sentinel as livecd ()
Original cos-immutable-rootfs sets the sentinel to livecd if it finds
the rd.cos.disable in the cmdline.

We should do the same. Unfortunately the state sdk doesnt support that
yet so we have to do it on our side until its supported

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-17 09:27:12 +01:00
renovate[bot]
da250ecbaf
Update module github.com/onsi/ginkgo/v2 to v2.8.1 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 18:45:04 +01:00
renovate[bot]
e9e4d2d674
Update module github.com/containerd/containerd to v1.6.18 [SECURITY] ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 17:38:57 +00:00
renovate[bot]
a452b8aa86
Update module github.com/urfave/cli/v2 to v2.24.4 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-16 17:36:00 +00:00
Itxaka
c58396e1d1 Only build iso on master merge
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 18:21:14 +01:00
Itxaka
5413bd1445 Disable building iso on PR
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 18:17:41 +01:00
Itxaka
210856970b
Add merge_group trigger to jobs ()
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 18:11:47 +01:00
Itxaka
91d6fa6945 Add version command and fix commit version
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 15:43:33 +01:00
Itxaka
bc53b0de3a Workaround for kairos sdk not detecting netboot
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 15:30:54 +01:00
Itxaka
dac147da2d Avoid sysroot.mount starting before immucore
Make it explicit that we run before sysroot.mount, otherwise it may be
launched in parallel and fails as immucore hasnt mount the sysroot
already

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 11:16:43 +01:00
Itxaka
4cfe5e764d Run udevadm trigger after mounting loop device
So the devices get refreshed and they show up under /dev/disk/by-label

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-16 10:41:02 +01:00
Itxaka
ad014e9f22
Full rework ()
* Full rework

 - Extract steps to a different file
 - Simplify dag for easy understanding
 - Load dag based on our boot process
 - Simplify steps to not depend on useless stuff
 - Better logging

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Move sentinel file to the dag

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

* Adapt tests

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>

---------

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-15 22:30:08 +01:00
Itxaka
4e2dd37e70 Use device to mount stuff
Unfortunately ghw detects mountpoint only by device, thus kairos-agent
does the same.

If we expect to make this work we need to mount the devices by the dev
instead of label until ghw supports detecting the devices mountpoint
ALSO via label.

Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-15 15:30:21 +01:00