Caution
This project is currently discontinued. After working on it for a while we've decided to start off with adding declarative formats to our image definitions first; instead of reinventing how to define images.
This is the "Omnifest Toolkit", also known as otk. A YAML transpiler to
take omnifest inputs and translate them into osbuild
manifests.
You can find otk's documentation in the /doc subdirectory. This README contains a small summary of directly useful information.
If you want to quickly run and try out otk without installation you can use our container image:
podman run -i -v .:/app:z ghcr.io/osbuild/otk compile /app/test/data/base/01-define.yaml
or rebuild the container locally
make containerand run an example
make container-testIf you want to hack on otk then read the installation instructions.
There is documentation about the format and the available directives.
Read the examples to see what omnifests look like.
To check our code for basic problems we use pre-commit
The tool itself will be installed by the pip command above (see Usage) after that you
should run
pre-commit installAfter this the system automatically checks upon commit, or you can run it against the whole repository including all the tests with:
make test
To run the tests, you can run make test.
- Omnifests are valid YAML, no preprocessing is done on them.
- No introspection of the tree.
- No language-specific quirks in the directives (e.g.
eval).
- Website: https://www.osbuild.org
- Bug Tracker: https://github.com/osbuild/otk/issues
- Discussions: https://github.com/orgs/osbuild/discussions
- Matrix: #image-builder on fedoraproject.org
- Changelog: https://github.com/osbuild/otk/releases