No description
Find a file
Ondřej Budai 6902f730cb worker: upload local target image using jobqueue api
Prior this commit local target copied the image from a worker to a composer
using cp(1) command. This prevented the local target to work on remote
workers.

This commit switches the local target implementation to using the jobqueue
API introduced in the previous commit. I had some concerns about speed
of this solution (imho nothing can beat pure cp(1) implementation) but
ad hoc sanity tests showed the copying of the image using the jobqueue API
when running the worker on the same machine as the composer is still
more or less instant.
2020-02-14 11:53:38 +01:00
cmd worker: upload local target image using jobqueue api 2020-02-14 11:53:38 +01:00
distribution service: adjust the IO and CPU scheduling classes 2019-12-13 20:13:15 +01:00
docs README: Define terminology as a base for internal refactoring 2020-01-30 14:42:25 +01:00
internal worker: upload local target image using jobqueue api 2020-02-14 11:53:38 +01:00
osbuild@e0bb65dd71 submodule: bump to current osbuild master 2019-12-15 20:57:40 +01:00
repositories repositories: install the base repositories in the filesystem 2020-01-03 22:35:52 +01:00
test distro: add custom image size 2020-01-23 00:57:31 +01:00
tools image-info: mount ESP at /boot/efi if found 2019-12-09 18:08:52 +01:00
.gitignore add makefile targets for rpm build 2019-12-02 13:45:07 +01:00
.gitmodules image-info: add test 2019-10-05 14:47:35 +02:00
.packit.yaml add packit 2019-11-29 12:16:27 +01:00
.travis.yml travis: disable PPC tests 2019-12-11 15:23:24 +01:00
dnf-json weldr: ensure a fresh dnf cache when making a new compose 2019-12-19 21:46:02 +01:00
go.mod weldr: add support for toml blueprints 2019-12-03 01:27:00 +01:00
go.sum weldr: add support for toml blueprints 2019-12-03 01:27:00 +01:00
golang-github-osbuild-composer.spec tests: add basic integration tests 2020-01-03 22:35:52 +01:00
LICENSE Revert "Fill in the license template" 2019-11-15 15:26:51 +01:00
Makefile repositories: install the base repositories in the filesystem 2020-01-03 22:35:52 +01:00
README.md README: Define terminology as a base for internal refactoring 2020-01-30 14:42:25 +01:00

osbuild-composer

An HTTP service for building bootable OS images. It provides the same API as lorax-composer but in the background it uses osbuild to create the images.

You can control it in Cockpit or using the composer-cli. To get started on Fedora, run:

# dnf install cockpit-composer golang-github-osbuild-composer composer-cli
# systemctl enable --now cockpit.socket
# systemctl enable --now osbuild-composer.socket

Now you can access the service using composer-cli, for example:

composer-cli status show

or using a browser: http://localhost:9090

API documentation

Please refer to the lorax-composer's documenation as osbuild-composer is a drop-in replacement.

High-level overview

overview

Frontends

osbuild-composer is meant to be used with 2 different front-ends. The primary one, which is meant for general use, is cockpit-composer. It is part of the Cockpit project and unless you have a strong reason not to use it, you should use it. composer-cli is a command line tool that can be used with osbuild-composer.

Compose

  • Compose is what the user submits over one of the frontends
  • It contains of one or more image builds
  • It contains zero or more upload actions

Image build

Job

  • What composer submits to a worker
  • Is a unit of work performed by osbuild (internally it is a single execution of osbuild)
  • Consists of one image build and zero or more Upload actions

Image type

  • In the cockpit-composer, for examples these are image types:
    • Openstack
    • Azure
    • AWS
  • As of now, we name them internally by their file format: vhd, ami, etc.
  • You can see a list of types by executing: composer-cli compose types

Upload action

  • Each image can be, but does not have to be, uploaded to a remote location
  • One image can be uploaded to multiple locations