Blame README.md

Packit Service 4d2de5
OSBuild Composer
Packit Service 4d2de5
================
Packit Service 4d2de5
Packit Service 4d2de5
Operating System Image Composition Services
Packit Service 4d2de5
Packit Service 4d2de5
The composer project is a set of HTTP services for composing operating system
Packit Service 4d2de5
images. It builds on the pipeline execution engine of *osbuild* and defines
Packit Service 4d2de5
its own class of images that it supports building.
Packit Service 4d2de5
Packit Service 4d2de5
Multiple APIs are available to access a composer service. This includes
Packit Service 4d2de5
support for the [lorax-composer](https://github.com/weldr/lorax) API, and as
Packit Service 4d2de5
such can serve as drop-in replacement for lorax-composer.
Packit Service 4d2de5
Packit Service 4d2de5
You can control a composer instance either directly via the provided APIs, or
Packit Service 4d2de5
through higher-level user-interfaces from external projects. This, for
Packit Service 4d2de5
instance, includes a
Packit Service 4d2de5
[Cockpit Module](https://github.com/osbuild/cockpit-composer) or using the
Packit Service 4d2de5
[composer-cli](https://weldr.io/lorax/composer-cli.html) command-line tool.
Packit Service 4d2de5
Packit Service 4d2de5
### Project
Packit Service 4d2de5
Packit Service 4d2de5
 * **Website**: <https://www.osbuild.org>
Packit Service 4d2de5
 * **Bug Tracker**: <https://github.com/osbuild/osbuild-composer/issues>
Packit Service 4d2de5
Packit Service 4d2de5
### About
Packit Service 4d2de5
Packit Service 4d2de5
Composer is a middleman between the workhorses from *osbuild* and the
Packit Service 4d2de5
user-interfaces like *cockpit-composer*, *composer-cli*, or others. It defines
Packit Service 4d2de5
a set of high-level image compositions that it supports building. Builds of
Packit Service 4d2de5
these compositions can be requested via the different APIs of *Composer*, which
Packit Service 4d2de5
will then translate the requests into pipeline-descriptions for *osbuild*. The
Packit Service 4d2de5
pipeline output is then either provided back to the user, or uploaded to a user
Packit Service 4d2de5
specified target.
Packit Service 4d2de5
Packit Service 4d2de5
The following image visualizes the overall architecture of the OSBuild
Packit Service 4d2de5
infrastructure and the place that *Composer* takes:
Packit Service 4d2de5
Packit Service 4d2de5
![overview](docs/osbuild-composer.svg)
Packit Service 4d2de5
Packit Service 4d2de5
Consult the `osbuild-composer(7)` man-page for an introduction into composer,
Packit Service 4d2de5
information on running your own composer instance, as well as details on the
Packit Service 4d2de5
provided infrastructure and services.
Packit Service 4d2de5
Packit Service 4d2de5
### Requirements
Packit Service 4d2de5
Packit Service 4d2de5
The requirements for this project are:
Packit Service 4d2de5
Packit Service 4d2de5
 * `osbuild >= 11`
Packit Service 4d2de5
 * `systemd >= 244`
Packit Service 4d2de5
Packit Service 4d2de5
At build-time, the following software is required:
Packit Service 4d2de5
Packit Service 4d2de5
 * `go >= 1.12`
Packit Service 4d2de5
 * `python-docutils >= 0.13`
Packit Service 4d2de5
Packit Service 4d2de5
### Build
Packit Service 4d2de5
Packit Service 4d2de5
The standard go package system is used. Consult upstream documentation for
Packit Service 4d2de5
detailed help. In most situations the following commands are sufficient to
Packit Service 4d2de5
build and install from source:
Packit Service 4d2de5
Packit Service 4d2de5
```sh
Packit Service 4d2de5
mkdir build
Packit Service 4d2de5
go build -o build ./...
Packit Service 4d2de5
```
Packit Service 4d2de5
Packit Service 4d2de5
The man-pages require `python-docutils` and can be built via:
Packit Service 4d2de5
Packit Service 4d2de5
```sh
Packit Service 4d2de5
make man
Packit Service 4d2de5
```
Packit Service 4d2de5
Packit Service 4d2de5
### Repository:
Packit Service 4d2de5
Packit Service 4d2de5
 - **web**:   <https://github.com/osbuild/osbuild-composer>
Packit Service 4d2de5
 - **https**: `https://github.com/osbuild/osbuild-composer.git`
Packit Service 4d2de5
 - **ssh**:   `git@github.com:osbuild/osbuild-composer.git`
Packit Service 4d2de5
Packit Service 4d2de5
### Pull request gating
Packit Service 4d2de5
Packit Service 4d2de5
Each pull request against `osbuild-composer` starts a series of automated
Packit Service 4d2de5
tests. Tests run via GitHub Actions, Travis CI, and Jenkins. Each push to
Packit Service 4d2de5
the pull request will launch theses tests automatically.
Packit Service 4d2de5
Packit Service 4d2de5
Jenkins only tests pull requests from members of the `osbuild` organization in
Packit Service 4d2de5
GitHub. A member of the `osbuild` organization must say `ok to test` in a pull
Packit Service 4d2de5
request comment to approve testing. Anyone can ask for testing to run by
Packit Service 4d2de5
saying the bot's favorite word, `schutzbot`, in a pull request comment.
Packit Service 4d2de5
Testing will begin shortly after the comment is posted.
Packit Service 4d2de5
Packit Service 4d2de5
Test results in Jenkins are available by clicking the *Details* link on the
Packit Service 4d2de5
right side of the Schutzbot check in the pull request page.
Packit Service 4d2de5
Packit Service 4d2de5
### License:
Packit Service 4d2de5
Packit Service 4d2de5
 - **Apache-2.0**
Packit Service 4d2de5
 - See LICENSE file for details.