Skip to content
/ otk Public
forked from osbuild/otk

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

License

Notifications You must be signed in to change notification settings

elkoniu/otk

 
 

Repository files navigation

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

€ python3 -m venv venv
€ . venv/bin/activate
€ pip install -e ".[dev]"
€ otk compile example/fedora/minimal-40-x86_64.yaml
# ...

# See `otk --help` for help.

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

Problem(s)

A list of current problems or things that just aren't that nice yet:

  • How should we structure a distribution, the fedora really isn't that pretty yet.
  • Defining the protocol of JSON that is sent between an otk.external and the main process. They'll likely need the entire tree.

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.7%
  • Makefile 2.3%