Background: Building the infrastructure up to produce and manage ImageBuilder images of Red Hat Device Edge while possible requires a lot of steps and knowledge. In many cases customers might not be interested in the effort and would rather have a simplified turnkey solution to instantiate an ImageBuilder environment where they can create, customize and manage initial images along with day 2 updated images for patching.
Description: As a customer I need a simplified orchestrated ImageBuild solution that contains the prebuilt workflows to generate the images I might need: basic images, customized images, image updates for basic images, image updates for customized images.
Requirements:
-Containerized virtual machine that contains all the tooling to build an Imagebuilder image
- Keep in mind Imagebuilder cannot run itself in a container but it can in a VM and we know that a qemu process can run inside of a container
- This container should be able to be used either in OCP via an operator or Podman when no Kubernetes is available
-Pass in RH credentials to allow for entitlements to RH repos
-Ability to pass in a CR into the container to provide the details around how the image should be built:
- Support the basic ImageBuild configuration parameters
- Support ability to add custom repos and rpm packages
-Ability to extract the completed images to stage for consumption elsewhere for new and existing devices
-Store the images on a volume that can retain the data and be reused when the pipeline process calls again
-This implementation is designed to provide the IB environment so one could plug the container into: an operator, a pipeline (whether k8s or non) and just run a vanilla IB container with podman.
-Ability to generate both container images and full bootable ISOs which can then be store depending on what type of artifact is chosen in an accessible location.
Considerations:
-We need to think about how this process will play into a customers larger CI/CD processes.
-Do we want to include image management or should we just initially focus on making the ImageBuilder process easier and portable?
Out of Scope for Now:
-Arm due to the lack of supported virtualization in RHEL (ie just not supported but the code exists)
-