Commit Graph

91 Commits

Author SHA1 Message Date
Mauro Morales
e2dba6b84e wrench: Automatically create a PR to publish latest schema release on the website (#899)
* Add earthly target to generate cloud config schema

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Add schema workflow

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

---------

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-02-16 11:46:48 +01:00
Mauro Morales
3e9dbe1fb2 wrench: Use yamllint to check lint issues on GH workflows (#892)
* Use yamllint to check lint issues on GH workflows

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Split into two different steps

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Add yamllint config file

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Fix YAmL lint issues in GH workflows

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

---------

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-02-15 16:39:10 +01:00
Mauro Morales
9db839cd63 wrench: Add temp-image Earthly target (#876)
Add temp-image Earthly target

This is helpful to quickly generate temp images and upload them to
ttl.sh plus you can quickly distinguish the images by branch and sha

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-02-13 11:43:19 +01:00
Shawn Wilsher
6bb7d29f2c 🔧 Add docker versioning for the RENOVATE_VERSION (#863)
Add docker versioning for the `RENOVATE_VERSION`

This isn't being picked up in the dashboard (#310), and it might be
because `34` isn't a proper semver.

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>
2023-02-10 00:35:43 -08:00
renovate[bot]
a8fca41b3d Update quay.io/kairos/osbuilder-tools Docker tag to v0.5.2 (#855)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 13:38:10 +01:00
Shawn Wilsher
b68e5775ce 🔧 Mange the version of quay.io/kairos/osbuilder-tools with renovate (#850)
Mange the version of quay.io/kairos/osbuilder-tools with renovate

This should trigger an update in short order as the current version of
this image is v0.5.2.

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>
2023-02-09 00:37:31 -08:00
Shawn Wilsher
5cc395bfa5 Validate renovate config file during lint (#848)
Now that the config is more than the stock config, and folks are
interested in using it more, we should have some automation to verify
that the config is valid.

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>
2023-02-08 15:55:09 -08:00
Shawn Wilsher
3a74e1228e 🔧 Have renovate manage image versions in Earthfile (#841)
Have renovate manage image versions in `Earthfile`

This change adds support for renovate to be able to update the versions
of `quay.io/luet/base`, `golang`, and `hadolint`.

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>
2023-02-08 00:57:19 -08:00
Oz Tiram
11de7129e0 🔧 merge custom mounts tests (#814)
* 🔧 merge custom mounts tests

Since the feature is now merged, we no longer need
a single label for this. This saves a few CI cycles.
To acheive this, we add the correct sections to the normal
install sections and assert that these paths exist.

The previous assertions are kept, but in order to make
code a bit more readable, I extracted the anonymous function
that collects the data from the installed VM.

Instead of repeating the installation 4 times, we now only
repeat the installation 2 times.

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Refactor tests

Works with VBox, fails with QEMU

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Fix cloud-config identation

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

---------

Signed-off-by: Oz Tiram <oz@spectrocloud.com>
2023-02-07 17:19:33 +01:00
Shawn Wilsher
ee1e77efbe robot: Add hadolint as part of the automatic lint checks (#818)
* Pull out golint into its own target

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>

* run hadolint on the Docker files in images/

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>

* Ignore existing failures of hadolint, at least for now

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>

---------

Signed-off-by: Shawn Wilsher <656602+sdwilsh@users.noreply.github.com>
2023-02-05 09:10:51 -08:00
Ettore Di Giacinto
203207b93d arrow_up: Bump luet to 0.34.0 (#813)
Signed-off-by: mudler <mudler@c3os.io>
Co-authored-by: Itxaka <itxaka.garcia@spectrocloud.com>
2023-02-03 18:40:41 +01:00
Itxaka
50490c6a31 bug: Remove workaround for polkit dirs (#810)
Looks like there was missing docs for the --keep-own flag on easrthly
and we can indeed keep permissions for all dirs/files when copying
artifacts, but the flag needs to be both on the SAVE ARTIFACT and in the
COPY stanzas.

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
Co-authored-by: Itxaka <itxaka@spectrocloud.com>
2023-02-03 11:34:56 +01:00
Oz Tiram
f8f993f7c5 sparkles: custom user bind and ephemeral mounts (#692)
*  custom user bind and ephemeral mounts

Users can now specify custom and ephemeral mounts in cloud-init under
the `install` section, e.g.:

```
users:
 - name: kairos
...
install:
  auto: true
  device: "auto"
  bind_mounts:
  - /mnt/bind1
  - /mnt/bind2
  ephemeral_mounts:
  - /mnt/ephemeral
  - /mnt/ephemeral2
...
```
Ephemeral mounts are mounted as RW - but changes are discarded when the
machine is restart.
Bind mounts will persist changes after restarted.

This is a fix for #210

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Add the custom user mount to /cos/run/cos-layout.env

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Add docs for custom user mounts in configuration example

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Reuse test_install function

DRY the code, change how we call the function install_test

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Enable custom mount tests and install tests

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Enable tests in CI

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Remove duplicate if check

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Remove uneeded fmt.Println ...

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Use separate label for custom mounts

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 🔧 Earthfile - DRY ginkgo

We repeat this a more than twice so just extract to own
target...

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Correct return type for  ContainElements

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Remove CLOUD_INIT from custom mounts test

This is not needed here.

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Fix qemu-test-* earthly targets

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 🔧 Fix CPU passing to VM

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 🔧 remove apt cache after install qemu

Helps deal with space running out in the CI.

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* 📖 Document custom mounts

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

---------

Signed-off-by: Oz Tiram <oz@spectrocloud.com>
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2023-02-03 11:04:02 +01:00
Itxaka
a37f68cf00 penguin: Disable squasfs compression for ISO building (#812)
Space gained is negligible, just a few Kbs usually (with gzip as its
currently) but the speed up improvements in building the ISO are really
good, for 20 seconds to 40 seconds per ISO build, and that gets more accentuated
on CI runs where the runners are more CPU constrained.

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
Co-authored-by: Itxaka <itxaka@spectrocloud.com>
2023-02-03 11:03:20 +01:00
Itxaka
051413547b bug: Fix wrong IF line in Earthfile (#785)
Looks like a ] was missing and instead of crashing and burning, earthly
continued happily, which meant that on v1.5.0 ARM tumbleweed images the
initrd is missing as earthly failed to parse the check but did not
errored out.

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
Co-authored-by: Itxaka <itxaka@spectrocloud.com>
2023-01-30 22:11:48 +01:00
Mauro Morales
c1addf53ee sparkles: Integrate documentation to Web UI (#741)
* Integrate documentation to Web UI

Relates to #738

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* submodule update

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Use hugo docker image

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

---------

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-01-28 21:44:24 +01:00
Itxaka
f52ec9f27c warning: add tumbleweed flavor (#710)
*  add tumbleweed flavor

 - Adds new opensuse-tumbleweed and opensuse-tumbleweed-arm-rpi flavors
 - Renames opensuse to opensuse-leap
 - Adapt earthfile to new names
 - Adapt CI to new names
 - Drop uneeded argument from dockerfiles
 - Updates docs to point older core-opensuse mentions to new
core-opensuse-leap flavor.
 - Add core-opensuses-tumbleweed flavor to matrix of version
 - Point to new kairos provider repos which include the version in the
naming

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
2023-01-25 10:15:24 +01:00
Mauro Morales
9d2dbdd164 Use envsubst for live-overlay.yaml (#662)
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-01-19 12:01:41 +01:00
Itxaka
92d8e755c2 seedling: Do not manually generate iso sha (#668)
No Need to generate the sha sum for the iso manually, elemental already does it

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

Signed-off-by: Itxaka <itxaka@spectrocloud.com>
Co-authored-by: Itxaka <igarcia@suse.com>
2023-01-18 14:13:34 +01:00
Oz Tiram
05025249e9 seedling: Add version information directly from git (#651)
* 🌱 Add version information directly from git

Partial fix for kairos-io/kairos#643.

Signed-off-by: Oz Tiram <oz@spectrocloud.com>

* Update cmd/profile-build/main.go

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Oz Tiram <oz@spectrocloud.com>
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2023-01-16 19:24:11 +01:00
Mauro Morales
6da5c6f2f8 seedling: Vendor webui dependencies (#619)
* 🌱 Vendor webui dependencies

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Remove GA caching

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* The deps need to be there before the compilation of the agent

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Remove unnecesary tag

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

* Do not build webui-deps

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>

Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
2023-01-10 14:21:15 +01:00
Ettore Di Giacinto
2e9bd5ac71 penguin: Add Debian flavor (#561)
Fixes: #471
Signed-off-by: mudler <mudler@c3os.io>

Signed-off-by: mudler <mudler@c3os.io>
2022-12-16 08:47:43 +01:00
Dimitris Karakasilis
efa4826db5 robot: Netboot testing (#523)
* Create earthly target and test for netboot

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Add new tests to the pipeline

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Fix typo

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>

* Update tests/tests_suite_test.go

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
Co-authored-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-12-03 12:30:15 +02:00
Ettore Di Giacinto
adbc780c6f bug: Correctly detect default version in netboot (#516)
The netboot target didn't had a default bound to the detected version, if nothing was specified
it would result in an empty artifact.

Fixes: #501

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-30 14:50:09 +01:00
mudler
1dad1b6e07 robot: Add agent config bootstrap test
Signed-off-by: mudler <mudler@kairos.io>
2022-11-27 14:34:36 +01:00
Ettore Di Giacinto
e1990ab35d robot: No need to download jq and docker anymore (#494)
This occasionally leads to errors when repos are not available online, and now
this should be also not necessary anymore.

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-25 14:49:41 +01:00
Ettore Di Giacinto
ce26590679 bug: Workarounds dracut netboot issues (#486)
* 🐛 Workarounds dracut netboot issues

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

* 🐛 Use tagged alpine images

Fixes: https://github.com/kairos-io/kairos/issues/482

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

* 🌱 Optimize build, avoid nested dockers

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>
2022-11-24 23:57:07 +01:00
Ettore Di Giacinto
5305bd37ee seedling: Ipxe fixes (#475)
* 🌱 Set a default dns and configure the interface in ipxe

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

* 🌱 Build with HTTPS support, correctly pass by VERSION

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

* 🌱 Add rd.neednet=1

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-23 16:52:54 +01:00
Ettore Di Giacinto
c5a2e07c92 seedling: Add build profile to simplify flavors maintenance (#463)
Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>
2022-11-21 09:48:23 +01:00
Ettore Di Giacinto
e749b89831 penguin: Split alpine images into dedicated channels (#457)
Depending on the kernel being used, we build now 2 distinct images
(alpine-opensuse-leap and alpine-ubuntu).

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-19 11:38:41 +01:00
Ettore Di Giacinto
df33bc108d seedling: Drop moved files (#446)
* 🌱 Drop moved files

Those are now shipped with the dracut package

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

* 🌱 Consume separate dracut configuration

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

* 🌱 Add specific dracut modules

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

* Update Earthfile

Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
Co-authored-by: Dimitris Karakasilis <dimitris@karakasilis.me>
2022-11-18 16:39:37 +01:00
Ettore Di Giacinto
b9ebf277e3 arrow_up: Bump repository and drop some workarounds (#434)
* ⬆️ Bump Kairos repositories

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>

* 🐧 Find out which grub to call

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-11-16 11:44:18 +01:00
Ettore Di Giacinto
7a707a1215 seedling: Re-order packages layout (#417)
* 🌱 Simplify framework images creation

No need to account anymore for different flavors of the toolkit

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>

* 🤖 No need to publish framework images anymore

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>

* ⬆️ Bump Kairos repositories

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>

Signed-off-by: Ettore Di Giacinto <mudler@mocaccino.org>
2022-11-14 18:35:27 +01:00
Ettore Di Giacinto
b82aec987c arrow_up: Bump osbuilder-tools image (#394)
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-08 01:00:29 +01:00
Ettore Di Giacinto
b8b41f7891 penguin: Keep openSUSE kernel on RPI (#378)
Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>

Signed-off-by: Ettore Di Giacinto <mudler@kairos.io>
2022-11-03 19:08:51 +01:00
Ettore Di Giacinto
d3561a7ecc penguin: Use ubuntu kernel with alpine flavor (#266)
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>

Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
2022-11-02 21:00:38 +01:00
Ettore Di Giacinto
7d200e44d6 robot: Correctly install ginkgo for test runs 2022-10-29 12:17:56 +00:00
Santhosh
9c65fa8c3c update luet version to 0.33.0 (#302) 2022-10-29 00:40:43 +05:30
Ettore Di Giacinto
ec9c575f1f arrow_up: Bump osbuilder-tools image (#293) 2022-10-26 19:18:33 +02:00
Ettore Di Giacinto
dde5be01cc art: Pin osbuilder tool image version (#248) 2022-10-20 00:32:21 +02:00
Ettore Di Giacinto
f99be3c159 Drop wicked, long live to systemd-networkd (#223)
* ♻️ Cleanup wicked references

* ⚙️ Be consistent and set systemd-network settings also initramfs

* ♻️ Re-use same image for netboot

* Revert "♻️ Cleanup wicked references"

This reverts commit d21850c24460189251974fed4a0b65c7a6f2f9ae.

* Revert "Revert "♻️ Cleanup wicked references""

This reverts commit 7cec03561e388d771ff317fd9b937f30af8c0be9.

* 🐧 Add openssh to opensuse

* 🐧 Add sudo explictly to openSUSE

Before it was automatically pulled in by other packages

* 🤖 Run bundles tests on GHA
2022-10-16 18:43:52 +02:00
Ettore Di Giacinto
2db9a0afe0 art: Use osbuilder image (#220) 2022-10-15 16:19:51 +02:00
Ettore Di Giacinto
f27b7a3a5d bug: Add suc-upgrade to core images (#211) 2022-10-12 19:04:18 +02:00
Ettore Di Giacinto
ee1e283cec robot: Install ginkgo pinned from go.mod (#208) 2022-10-12 07:46:01 +02:00
Ettore Di Giacinto
4f35f9ed3a penguin: Correctly handle kernel image symlink (#202) 2022-10-10 23:04:37 +02:00
Ettore Di Giacinto
582ef220cf penguin: Change ubuntu images location (#204)
* 🐧 Move 20 LTS to ubuntu-20-lts repository, ubuntu-rolling to ubuntu

See: https://github.com/kairos-io/kairos/issues/150#issuecomment-1272909504

* 🐧 Add ubuntu 22 lts

Fixes: https://github.com/kairos-io/kairos/issues/150
2022-10-10 23:03:54 +02:00
Ettore Di Giacinto
e2128af85f sparkles: Add kcrypt to images (#195)
*  Add kcrypt to images

This adds the dracut module and the binary to the images.

Related to https://github.com/kairos-io/kairos/issues/184

*  Add Kcrypt post-install hook

Fixes https://github.com/kairos-io/kairos/issues/184
2022-10-07 13:36:32 +02:00
Ettore Di Giacinto
4cc1e7a0f2 penguin: Disable temporarly SELinux on fedora (#189)
* 🐧 Disable temporarly SELinux on fedora

* 🐧 Add SELinux relabel rule

* 🤖 Add Fedora to releases
2022-10-06 23:43:16 +02:00
Ettore Di Giacinto
df59351bf1 penguin: Make fedora/rockylinux to boot (#181)
* 🐧 Add fedora and rockylinux

* 🐧 Add tools to fedora/rh images

* 🤖 Add tests to circleci

* 🤖 Configure the CPU required for running rhel on vms

* Enable ttys

* 🤖 Disable tests on fedora/rockylinux

QEMU TCG doesn't support AVX:
https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level#recommendations_for_rhel_9

* 🤖 Don't release rockylinux/fedora
2022-10-05 21:45:09 +02:00
Ettore Di Giacinto
0e496b67b5 penguin: Add Ubuntu 22.10 (#180)
*  Add ubuntu-rolling flavor to track latest ubuntu

* 🤖 Disable qcow image build on releases

web3 storage changed plans - now free space is much more reduced and we already exceeded limits.
2022-10-05 08:45:38 +02:00