debian-forge-composer/internal/osbuild1/ostree_commit_assembler.go
Achilleas Koutsou 72f0f7ffed osbuild1: store all stage result metadata
Currently, metadata from osbuild is discarded for all stages except RPM.
Adding explicit support for the ostree.commit stage/assembler and
storing the metadata in a known type.
For all other stages, store the metadata directly without parsing.

The rawAssemblerResult is removed. Assembler results are treated as
stage results.
2021-06-29 09:33:05 +01:00

41 lines
1.6 KiB
Go

package osbuild1
// OSTreeCommitAssemblerOptions desrcibe how to assemble a tree into an OSTree commit.
type OSTreeCommitAssemblerOptions struct {
Ref string `json:"ref"`
Parent string `json:"parent,omitempty"`
Tar OSTreeCommitAssemblerTarOptions `json:"tar"`
}
// OSTreeCommitAssemblerTarOptions desrcibes the output tarball
type OSTreeCommitAssemblerTarOptions struct {
Filename string `json:"filename"`
}
func (OSTreeCommitAssemblerOptions) isAssemblerOptions() {}
// NewOSTreeCommitAssembler creates a new OSTree Commit Assembler object.
func NewOSTreeCommitAssembler(options *OSTreeCommitAssemblerOptions) *Assembler {
return &Assembler{
Name: "org.osbuild.ostree.commit",
Options: options,
}
}
type OSTreeCommitStageMetadata struct {
Compose struct {
Ref string `json:"ref"`
OSTreeNMetadataTotal int `json:"ostree-n-metadata-total"`
OSTreeNMetadataWritten int `json:"ostree-n-metadata-written"`
OSTreeNContentTotal int `json:"ostree-n-content-total"`
OSTreeNContentWritten int `json:"ostree-n-content-written"`
OSTreeNCacheHits int `json:"ostree-n-cache-hits"`
OSTreeContentBytesWritten int `json:"ostree-content-bytes-written"`
OSTreeCommit string `json:"ostree-commit"`
OSTreeContentChecksum string `json:"ostree-content-checksum"`
OSTreeTimestamp string `json:"ostree-timestamp"`
RPMOSTreeInputHash string `json:"rpm-ostree-inputhash"`
} `json:"compose"`
}
func (OSTreeCommitStageMetadata) isStageMetadata() {}