/otk

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

Primary LanguagePythonApache License 2.0Apache-2.0

Omnifest Toolkit

THIS IS A PROOF OF CONCEPT REPOSITORY. MAIN CAN BE BROKEN AT ANY POINT AND MANY THINGS ARE SUBJECT TO CHANGE. WE'RE DISCUSSING DESIGN IN ISSUES AND PULL REQUESTS

We are still sketching out this potential approach to generating manifests and thus this repository is very much a work in progress.

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 the easiest is to run our container image:

podman run -i ghcr.io/osbuild/otk < omnifest.yaml

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 have to install the package (see Usage) and call pytest

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