Updated
6 months
ago.
5 hacker ♥️.
5 followers.
Description
With SUSE Manager, we can build OS Images using KIWI and container images. As we have Edge Image Builder, we want to see if it is possible to use SUSE Manager to build/customize OS Images by integrating Edge Image Builder as well.
Goals
To make the process easier for customers, a single-build pipeline that automatically adds the combustion and artifact files from the EIB process is desirable.
- Kiwi and EIB need to come from a Git Repository.
- Kiwi and EIB need to be running as containers.
- Configuration options for the images used for Kiwi and EIB build.
- X86 and ARM64 Support.
- SUSE Manager 4.3 and 5.X Support.
- SLES 15 SP6 / SL Micro 6.0 and SL Micro 6.1 Support.
Outcome
- Change the Kiwi build process to use Podman with the Kiwi image registry.suse.com/bci/kiwi:10.1.10
- Change the Edge Image Builder to produce a combustion-only ISO
- Extract the contents and write them to a dedicated /OEM partition integrated via Kiwi into the ISO Kiwi creates.
Sources and PRs
- https://github.com/Martin-Weiss/kiwi-image-micro-gpu-60
- https://github.com/suse-edge/edge-image-builder/pull/618
- https://github.com/uyuni-project/uyuni/pull/9507
This project is part of:
Hack Week 24
Activity
Comments
-
7 months ago by joachimwerner | Reply
I'm planning to join this project. Some early thoughts and personal perspective:
- I'm mostly working on an Arm Mac, so I'll be able to validate whether all bits and pieces are "Mac-safe" and "aarch64-safe".
- Linux physical machines/VMs vs. containers: Currently, the SUSE Manager KIWI and Dockerfile build jobs are running on a Salt-enabled Linux instance (physical or virtual). EIB (and soon KIWI) are running in a container that can be managed with podman (or potentially Kubernetes). So I see several separate "sub-goals" we could address with this project:
- Keep the current paradigm and "just" create a build state that uses podman on a Linux system to do the EIB build
- Create a new type of container just (podman) and/or Kubernetes host build "server" that would allow running all kinds of containerised jobs through SUSE Manager (including the EIB and soon KIWI build jobs).
- Look into chaining jobs as an advanced goal (important for use cases where you first want to build a base image using KIWI and then customise that image in an EIB "2nd stage").
- Potentially automating build chains based on triggers like "new/updated package was added to repo" (but that could soon lead to re-inventing OBS or so
)
- At least for pilot/labs scenarios, I'd love to see the build jobs running on the same podman-enabled host as the SUSE Manager Server instance. Maybe not recommended for production, but would make demos/training labs much easier to set up.
- I'm mostly working on an Arm Mac, so I'll be able to validate whether all bits and pieces are "Mac-safe" and "aarch64-safe".
-
7 months ago by joachimwerner | Reply
We might need someone with Java skills for the UI part. I've had a first look at the code, and the current UI/business logic implementation is hardcore Java.
Similar Projects
This project is one of its kind!