-
Feature
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
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.
- is depended on by
-
COMPOSER-2290 Insights Image Builder uses OTK to build Centos 9
- New