As we now dont need the IMAGE var to extract the iso, there is no point
in having to pull the full BASE_IMAGE just to extrac the name.\
This should speed up the uki iso generation
Signed-off-by: Itxaka <itxaka@kairos.io>
* Base down from 1.34G to 1.08G
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Remove zfs, not heavy but problematic with nohang
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Add --no-install-suggests
* From 1.08G to 992Mb
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Without dracut, the standard image goes down to 1.87G and can be booted
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Add BOOTLOADER arg
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* feedback
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Refactor a bit
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* refactor for ubuntu 20.04
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Make sure test doesn't break when master matches the latest release
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Point to existing artifacts for 2.5.0 release
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Bump download-artifact action
to hopefully fix the error:
```
Preparing to download the following artifacts:
- kairos-alpine-3.19.iso.zip (ID: 1164540479, Size: 1053840217)
Redirecting to blob download url: https://productionresultssa4.blob.core.windows.net/actions-results/e30c4747-a895-4fc2-a9ad-5c3c721fbe5c/workflow-job-run-54b5a70f-2f08-532f-96ed-a371e24f143d/artifacts/kairos-alpine-3.19.iso.zip.zip
Starting download of artifact to: /runner/_work/kairos/kairos
(node:1192) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Error: Unable to download artifact(s): Unable to download and extract artifact: Artifact download failed after 5 retries.
```
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
---------
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Use kairos-agent instead of naming.sh everywhere
For this commit, kairos-agent has to be built from at least 4409a4e
Also:
- Remove some relics from when we had docs in this repo and when we
used to pass a VERSION to the bundle for systemd-sysext (now we use
"_ANY")
- Simplify earthly targets. They don't need all that input just to construct
the artifact name because it's running on the "base-image".
The artifact name is already written in the /etc/os-release file.
- Remove +version target and convert GIT_VERSION to a normal target because when you call
`DO +foo` in a target and "foo" has "FROM myimage" in it, after the call, your
target now runs on "myimage".
- Remove "VERSION" instances from most places, except in reusable-build-flavor
which is using it to replace it with "latest" thus the current value
(just the kairos version) should work. That workflow is disabled currently
but I tried not to break it in case someone re-enables it.
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Fix rebase mistake
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Fix issues building arm
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Oops
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
Co-authored-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Use framework images built on new repo
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Luet is not in the framework anymore
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Use latest release by default
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* remove concept of security profile
Generic images don't reflect it anymore so this can be considered part of the version
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Check for failures faster and make sure bundles don't break
It should fail now because of this fix needed:
https://github.com/kairos-io/kairos-agent/pull/174
After bumping to the fixed kairos-agent version, the test should be
green again.
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
* Bump osbuilder to produce a livecd with tty1 as default console
Grub configuration for livecd (iso) is installed here:
89b014b2b2/tools-image/Dockerfile (L25)
and it repositories were bumped in osbuilder to use the latest and
updates grub configuration where `console=tty1` is set **after**
`console=ttyS0` thus making it the default console for systemd services.
Also:
- remove not used bootargs.cfg file (has been moved to the "packages"
repo)
- Change to the DATASOURCE check which is what we need in reality (not
CLOUD_INIT which was indirectly checking that DATASOURCE would be set
by Earthly)
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Double the waiting time until installation is finished
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Triple the timeout (it passses locally, just needs time)
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Bump luet repository to get kairos-agent 2.4.2
which has this fix: https://github.com/kairos-io/kairos-agent/pull/174
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Revert to the old test logic
which, in case of errors, will fail with a timeout but kairos service
doesn't allow us to know when the installer is done. That's because
the service has `RemainAfterExit=yes` and even if that was removed, the
kairos process waits for user input to finish:
```
Installation completed, press enter to go back to the shell. [Yes/no/all/cancel]
```
so there is not sure way to tell whether the kairos installer failed
with or without errors.
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
---------
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: jimmykarily <jimmykarily@users.noreply.github.com>
* Fix arch name in arm artifacts
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Update test to use new artifact names
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Fix name of security results
Fix test when calling without ISO
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Introduce RHEL family
- merges the files for rockylinux and almalinux into a rhel dockerfile
- decided not to add fedora into this since, it requires to add the epel packages, which might make fedora too close to rhel for our community users. But wonder what you think, is it a good/bad idea to try to also merge that one?
Clean up fedora dockerfile
- remove packages which are already installed by default "coreutils" and "curl"
- make it similar to the other dockerfiles for easier maintenance
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Add fedora to rhel family
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Introduce inbetween stage for readability
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
---------
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Install the right k3s package based on the init system
Fixes: #1797
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Bump luet repository to use the new packages
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Add FLAVOR ARG for consistency
although it's a global and it should work anyway. But we pass it in
other places so let's at least be consistent.
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
---------
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* 🎨 Bundle bootargs with framework images
Currently bootargs is not provided with the framework images so its
missing a very important piece to boot which results into BYOI being
broken.
This patch adds the bootargs.cfg to the framework image. Also the
config.txt to the rpi images.
Also drops the kernel/initramfs vars from the bootargs as they are set
to the default now in the package.
Also moves the luet clean under the package list generation as it
requires the database of luet to list the packages.
Signed-off-by: Itxaka <itxaka@kairos.io>
* Bump repos
Signed-off-by: Itxaka <itxaka@kairos.io>
* 🤖 Do not download the generated iso for upgrade-latest
Its not needed, we boot from latest release and upgrade to pushed
container, the iso is not touched
Signed-off-by: Itxaka <itxaka@kairos.io>
* 🎨 Restore kernel/initramfs values
Needed for upgrade as we dont upgrade COS_GRUB partition with anything
new during upgrade so we are stuck with existing config in there during
upgrades
Signed-off-by: Itxaka <itxaka@kairos.io>
---------
Signed-off-by: Itxaka <itxaka@kairos.io>
* 🤖 Use prebuilt iso on zfs test
Due to a mixup in the dirs, the zfs test was not finding the prebuilt
iso and was constructiing a new one on each run
Signed-off-by: Itxaka <itxaka@kairos.io>
* Do not run reset test twice
Just to check a simple grubenv file, just run it once as running it
twice means that we would drop the machine adn start from scratch again,
which makes no sense for a simple test.
Signed-off-by: Itxaka <itxaka@kairos.io>
---------
Signed-off-by: Itxaka <itxaka@kairos.io>
As we use the state/recovery partition for storing the transition image
during upgrades, on ubuntu the partition sizes did not allow to store
the image properly as they were too small.
This fixes the current sizes for ubuntu based rpi64 images
Signed-off-by: Itxaka <itxaka@kairos.io>
* Bring back the bootargs.cfg files to the base image
because we need them before any stages are run (grub needs them)
Related PR that removes them from the luet package:
https://github.com/kairos-io/packages/pull/391
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* Change the dockerfile build context
to make COPY commands work without knowledge of the kairos repository
directory structure.
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Bump luet repo
to get this:
https://github.com/kairos-io/packages/pull/391
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* COPY, don't RUN files
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Bump luet repo
to get this:
https://github.com/kairos-io/packages/pull/392
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
---------
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Co-authored-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Add k3s version when it is set
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Make K3S_VERSION a global
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Remove luet rebuild numbers from k3s version
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
---------
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* 🐧 Separate rpi3 from rpi4
Signed-off-by: Itxaka <itxaka@kairos.io>
* 🤖 Change the rpi64 to rpi4 for ci
Signed-off-by: Itxaka <itxaka@kairos.io>
* Rework dockerfiles for rpi3/4 separation
Signed-off-by: Itxaka <itxaka@kairos.io>
* Run arm PR in kvm runners
Signed-off-by: Itxaka <itxaka@kairos.io>
* Bump osbuilder and run under fast runner
Signed-off-by: Itxaka <itxaka@kairos.io>
---------
Signed-off-by: Itxaka <itxaka@kairos.io>
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
to distinguish between distro and flavor without making reference to model and arch within the flavor
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Use dev version for provider kairos in Earthly
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* [WIP] Build a matrix for standard (provider) images
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Build provider-kairos image with the right flags
E.g. Invoke it as:
earthly +iso -PROVIDER_KAIROS=true -PROVIDER_KAIROS_VERSION=2.3.0 -K3S_VERSION=1.24.2
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Use latest package for provider-kairos and k3s
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Remove PROVIDER_KAIROS_VERSION setting
because when we install with luet, the version is defined by the
repository in framework-profile.yaml
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Remove implemented TODO
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Construct the k8s versions by quering the luet repo for available ones
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* No need to change version strings
They are already in the required format for luet
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* WIP
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Remove default MODEL that doesn't work
because the top level default always wins (Earthly...)
and downgrade osbuilder because it breaks arm builds. This should fix it:
https://github.com/kairos-io/osbuilder/pull/80
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Don't build standard images for nvidia jetson
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* WIP
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Drop PROVIDER_KAIROS and use VARIANT=standard instead
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* WIP
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* WIP
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* WIp
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Remove not used ARGs and simplify targets
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* Try out on our branch
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Configure luet before searching it
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* Try to fix luet
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Fix luet
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Fix signing path
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Bump CI
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Add debug job
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Remove dummy job and try to remove permissions
to see if they are actually needed anywhere
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Debug, debug, debug
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Switch back to old naming
we will deal with it on another PR
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Simplify jq syntax
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* Fix arm image release pipeline (no generic yet)
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Fix luet installation in job
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* Fix the release-arm pipeline
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Unshallow the checkout in the pipeline to build a proper VERSION
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* Use the action fetch-depth instead of unshallow
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Fix earthly things
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* WIP
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
* Remove our test branch from the workflow
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Remove done TODOs and make sure we install tools in all k3s versions
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
* Rename Earthly command and remove unnecessary copying
because the framework-profile should already be in place
(Fixes based on PR comments)
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Add nohang in base images (wherever it's available)
and remove the Earthly target for that.
Question: We only enable this on systemd:
https://github.com/kairos-io/kairos/blob/master/overlay/files/system/oem/09_services.yaml#L21-L22
What about systemd flavors that don't have it? (fedora, rockylinux,
almalinux)
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Add repository for nohang in jetson dockerfile
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Filter which flavors to build standard image for
and stop running the release pipeline our current branch
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
* Fix name of matrix
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
---------
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
Signed-off-by: Dimitris Karakasilis <dimitris@spectrocloud.com>
Signed-off-by: Mauro Morales <mauro.morales@spectrocloud.com>
Co-authored-by: Mauro Morales <mauro.morales@spectrocloud.com>
Co-authored-by: Dimitris Karakasilis <dimitris@spectrocloud.com>