README: Define terminology as a base for internal refactoring

This commit is contained in:
Martin Sehnoutka 2020-01-16 09:53:03 +01:00 committed by msehnout
parent b81dc53442
commit 7bdd51cd23
2 changed files with 617 additions and 0 deletions

View file

@ -22,3 +22,36 @@ or using a browser: `http://localhost:9090`
Please refer to the [lorax-composer](https://github.com/weldr/lorax)'s documenation as osbuild-composer is a drop-in replacement.
## High-level overview
![overview](docs/osbuild-composer.svg)
### 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
* The resulting *image* has a *type*: https://github.com/osbuild/osbuild-composer/blob/master/internal/distro/fedora30/distro.go#L19
* Running build in osbuild-composer is referred to as a "job" (internal terminology, not related to end-user experience)
### 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