osbuild: introduce manifest concept

A manifest is simply a struct containing a sources and a pipeline
object. We want to store and transfer pielines always with their
sources, and will use the manifest for this.

When serialized, a manifest can be the input to `osbuild`, just
like a bare pipeline can be. This means there will be no need
to pass in sources separately on the commandline.

Signed-off-by: Tom Gundersen <teg@jklm.no>
This commit is contained in:
Tom Gundersen 2020-03-03 21:29:20 +01:00
parent 7af12f6ce6
commit 4da1ab03b3

View file

@ -2,6 +2,12 @@
// OSBuild types.
package osbuild
// A Manifest represents an OSBuild source and pipeline manifest
type Manifest struct {
Sources Sources `json:"sources"`
Pipeline Pipeline `json:"pipeline"`
}
// A Pipeline represents an OSBuild pipeline
type Pipeline struct {
// The build environment which can run this pipeline