No description
Find a file
Brian C. Lane b5b5bd96df client: Move test setup into unit_test.go
Copy weldrcheck's utils.go into client, switch to using TestState struct
to hold global test data. Only build unit_test.go if integration has not
been selected.

This is in preparation to moving weldrcheck code into client *_test.go
files so that the test code can be shared and run against a mock server
during unit testing, or against a running WELDR API server during
integration testing.
2020-03-27 19:07:33 +01:00
.github/workflows ci/rpm: use the old spec file for f31 2020-03-25 11:43:39 +01:00
cmd tests: Make TestSources distro independent. Refs #315 2020-03-25 16:30:52 +01:00
distribution worker: don't hard code path to unix domain socket 2020-03-25 14:05:44 +01:00
docs docs: add errors.md 2020-03-25 10:22:16 +01:00
image-types image-types: start describing image types 2020-03-26 19:16:30 +01:00
internal client: Move test setup into unit_test.go 2020-03-27 19:07:33 +01:00
osbuild@c8465ce06f submodule: update to current master 2020-03-15 19:38:59 +01:00
repositories repositories: Fedora 32 is still under development 2020-03-18 20:46:00 +01:00
test test/images: regenerate the test cases 2020-03-25 16:14:43 +01:00
tools tools/image-info: deduplicate and sort the services 2020-03-25 16:14:43 +01:00
vendor Update go.mod and vendor for require package 2020-03-17 21:10:00 +01:00
.gitignore gitignore: don't ignore files we do not generate 2020-03-21 19:50:21 +01:00
.gitmodules image-info: add test 2019-10-05 14:47:35 +02:00
.golangci.yml ci/lint: add integration tag 2020-03-17 20:36:58 +01:00
.travis.yml tests/image: remove all distro restrictions 2020-03-19 14:25:08 +01:00
CONTRIBUTING.md update readmes to use the new osbuild-composer package 2020-03-25 11:43:39 +01:00
dnf-json dnf-json: allow passing arch as an argument 2020-03-24 20:45:30 +01:00
go.mod tests/image: add booting tests 2020-03-13 18:06:56 +01:00
go.sum Use semver to enforce blueprint version numbers 2020-02-25 09:00:35 +01:00
golang-github-osbuild-composer.spec spec: sync the line order and whitespace changes 2020-03-25 11:43:39 +01:00
LICENSE Revert "Fill in the license template" 2019-11-15 15:26:51 +01:00
Makefile makefile: use the new spec file for rpm targets 2020-03-25 11:43:39 +01:00
osbuild-composer.spec spec: add notes to remove the lines related to renaming in F34 2020-03-25 11:43:39 +01:00
README.md update readmes to use the new osbuild-composer package 2020-03-25 11:43:39 +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 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

Testing

See test/README.md