Uploaded image for project: 'Image Builder'
  1. Image Builder
  2. COMPOSER-2291

OTK: a developer-friendly framework for defining images

XMLWordPrintable

    • Icon: Feature Feature
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • image builder
    • False
    • None
    • False
    • COMPOSER-2246Image Builder maintenance and improvements
    • Testable
    • 56% To Do, 0% In Progress, 44% Done

      The Image Builder project currently defines how to build a specific image in Go code. This proved to be troublesome for many reasons:

      • Image maintainers from outside the team have a hard time figuring out how to make a change in the definitions because the code is too complex.
      • Changing the definitions requires a time-consuming rebuild of the Go code.
      • Tight coupling osbuild-composer and the definitions means that we have to redeploy composer every time we want an image definition to be updated. Since osbuild-composer is a big project, there's always a risk that something unrelated will break.

      The goal of this feature is to create a new project called OTK that allows defining images in YAML-based omnifests files. This brings several benefits:

      • We believe that a YAML-based DSL is easier to read than Go.
      • Compiling an omnifest is way faster than compiling a Go code.
      • It's possible to update image definitions separately from osbuild-composer.

       

      The project homepage: https://github.com/osbuild/otk

      Acceptance criteria

      • OTK is implemented and tested.
      • The omnifest format is defined.
      • Omnifests that build the same CentOS Stream 9 images as osbuild/images do are implemented.
        • Out of scope: Integration between osbuild-composer, images and otk, this is a separate feature: COMPOSER-2290.

              obudai@redhat.com Ondrej Budai
              obudai@redhat.com Ondrej Budai
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: