Blame README.md

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