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

Looking for hackers with the skills:

eib edge suma elemental

This project is part of:

Hack Week 24

Activity

  • 6 months ago: mweiss2 liked this project.
  • 6 months ago: dgiebert added keyword "eib" to this project.
  • 6 months ago: dgiebert added keyword "edge" to this project.
  • 6 months ago: dgiebert added keyword "suma" to this project.
  • 6 months ago: dgiebert added keyword "elemental" to this project.
  • 6 months ago: mbrookhuis disliked this project.
  • 6 months ago: mbrookhuis liked this project.
  • 6 months ago: j_renner liked this project.
  • 7 months ago: RDiasMateus liked this project.
  • 7 months ago: joachimwerner joined this project.
  • 7 months ago: joachimwerner liked this project.
  • 7 months ago: atgracey joined this project.
  • 7 months ago: atgracey liked this project.
  • 7 months ago: dgiebert joined this project.
  • 7 months ago: mweiss2 started this project.
  • 7 months ago: mweiss2 originated this project.

  • Comments

    • joachimwerner
      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". add-emoji
      • 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 add-emoji )
      • 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.

    • joachimwerner
      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!