No description
Find a file
Christian Kellner 21a60324bc buildroot: bind mount individual API endpoints
The current way API end points, i.e. sockets for API providers,
are provided to the sandbox is via a temporary directory that
is created by `BuildRoot` which later gets bind-mounted to a well
known path, i.e. /run/osbuild/api inside the sandbox. API providers
are expected to create their socket in that temporary directory.

Now that `BuildRoot` has a `regsiter_api` method and each API has
an `endpoint` property, the socket of each API provider, no matter
where it is located, will get bind-mounted individually inside
the sandbox at /run/osbuild/api using the `endpoint` identifier.

For backwards compatibility reasons the temporary api directory
will still be created by `BuildRoot`, but it is no longer bind
mounted inside the container. This paves the way to remove that
directory completely once all API providers are converted to not
use that directory anymore.
2020-07-27 12:50:38 +01:00
.github/workflows ci: schedule coverity only for osbuild/osbuild 2020-07-07 08:26:53 +02:00
assemblers pylint: increase max attributes to 10 2020-07-21 13:25:04 +02:00
docs cli: drop --build-env argument 2020-05-07 19:52:33 +02:00
osbuild buildroot: bind mount individual API endpoints 2020-07-27 12:50:38 +01:00
runners runners: use osbuild.api.setup_stdio 2020-07-27 12:50:38 +01:00
samples stages/noop: fix the schema to allow any props 2020-07-16 19:02:25 +02:00
schemas schema/osbuild1.json: convert to draft4 standard 2020-05-12 22:00:38 +02:00
schutzbot Use script for telegram notification 2020-07-20 16:22:21 +02:00
selinux selinux: Allow unconfined_service_t → osbuild_t 2020-06-10 01:35:05 +02:00
sources sources/files: do not pass floats to --max-time 2020-06-25 21:25:17 +02:00
stages stages: drop script stage 2020-07-24 18:06:39 +02:00
test api: each API defines its 'endpoint' name 2020-07-27 12:50:38 +01:00
tools tools/mpp-depsolve: support excluding packages 2020-06-15 13:44:01 +02:00
.editorconfig editorconfig: add one matching current style 2019-12-13 18:15:08 +01:00
.gitignore test: add coverity targets to the Makefile 2020-06-24 10:01:24 +02:00
.pylintrc pylint: increase max attributes to 10 2020-07-21 13:25:04 +02:00
.travis.yml ci: move test_boot to github-actions 2020-05-13 22:00:27 +02:00
LICENSE Revert "Fill in the license template" 2019-11-18 12:23:10 +01:00
Makefile test: use a dummy pipeline when testing assemblers 2020-07-21 10:25:47 +02:00
NEWS.md NEWS.md: update for osbuild version 18 2020-06-23 20:02:42 +02:00
osbuild.spec buildroot: use bwrap to contain stages 2020-07-21 14:20:32 +02:00
README.md buildroot: use bwrap to contain stages 2020-07-21 14:20:32 +02:00
requirements.txt osbuild: add meta module for metadata information 2020-05-06 15:42:23 +02:00
setup.py osbuild: use osbuild_cli directly as main entry 2020-07-17 16:30:46 +01:00

OSBuild

Build-Pipelines for Operating System Artifacts

OSBuild is a pipeline-based build system for operating system artifacts. It defines a universal pipeline description and a build system to execute them, producing artifacts like operating system images, working towards an image build pipeline that is more comprehensible, reproducible, and extendable.

See the osbuild(1) man-page for details on how to run osbuild, the definition of the pipeline description, and more.

Project

Requirements

The requirements for this project are:

  • bubblewrap >= 0.4.0
  • python >= 3.7

Additionally, the built-in stages require:

  • bash >= 5.0
  • coreutils >= 8.31
  • curl >= 7.68
  • qemu-img >= 4.2.0
  • rpm >= 4.15
  • tar >= 1.32
  • util-linux >= 235

At build-time, the following software is required:

  • python-docutils >= 0.13
  • pkg-config >= 0.29

Build

The standard python package system is used. Consult upstream documentation for detailed help. In most situations the following commands are sufficient to build and install from source:

python setup.py build
python setup.py install --skip-build --root=/

The man-pages require python-docutils and can be built via:

rst2man docs/<input-file>.rst <output-file>

Repository:

License:

  • Apache-2.0
  • See LICENSE file for details.