manifest: document Pipeline interface

Docstrings for the Manifest.pipelines field and the Pipeline type
itself.
This commit is contained in:
Achilleas Koutsou 2023-05-09 19:32:33 +02:00 committed by Simon de Vlieger
parent 8b46ead31b
commit 30c5093fb5
2 changed files with 13 additions and 0 deletions

View file

@ -51,6 +51,8 @@ func (m *OSBuildManifest) UnmarshalJSON(payload []byte) error {
// to generate the pipelines but no content. The content included in the
// Content field must be resolved before serializing.
type Manifest struct {
// pipelines describe the build process for an image.
pipelines []Pipeline
// Content for the image that will be built by the Manifest. Each content

View file

@ -9,11 +9,22 @@ import (
"github.com/osbuild/osbuild-composer/internal/rpmmd"
)
// Pipeline serializes to a series of stages that modify a file system tree
// when used as input to osbuild. Different Pipelines serialize to different
// sequences of stages depending on their type and configuration.
type Pipeline interface {
// Name of the pipeline.
Name() string
// Checkpoint this pipeline when osbuild is called.
Checkpoint()
// Export this tree of this pipeline as an artifact when osbuild is called.
Export() *artifact.Artifact
getCheckpoint() bool
getExport() bool
// getBuildPackages returns the list of packages required for the pipeline