Skip to content
/ otk Public

A proof of concept for a new `osbuild-mpp`.

License

Notifications You must be signed in to change notification settings

osbuild/otk

Repository files navigation

Omnifest Toolkit

THIS IS A PROOF OF CONCEPT REPOSITORY. WE'RE DISCUSSING DESIGN IN ISSUES AND PULL REQUESTS

This is the "Omnifest Toolkit", also known as otk. A YAML transpiler to take omnifest inputs and translate them into osbuild manifests.

Documentation

You can find otk's documentation in the /doc subdirectory. This README contains a small summary of directly useful information.

Usage

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 container

and run an example

make container-test

If you want to hack on otk then read the installation instructions.

Documentation

There is documentation about the format and the available directives.

Examples

Read the examples to see what omnifests look like.

Development

Pre Commit Checks

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 install

After this the system automatically checks upon commit, or you can run it against the whole repository including all the tests with:

make test

Tests

To run the tests, you can run make test.

Principles

  • 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).

Project