osbuild: rework Ignition stage inputs

Rework the stage to not reimplement `FilesInput` as
`IgnitionStageInput`, but instead use the one common
`FilesInput` implementation and its supported
references.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
Tomáš Hozza 2023-01-27 10:21:11 +01:00 committed by Achilleas Koutsou
parent 645956d203
commit b25e4bfa8b

View file

@ -18,24 +18,14 @@ func NewIgnitionStage(options *IgnitionStageOptions) *Stage {
} }
type IgnitionStageInputInline struct { type IgnitionStageInputInline struct {
InlineFile IgnitionStageInput `json:"inlinefile"` InlineFile *FilesInput `json:"inlinefile"`
} }
func (IgnitionStageInputInline) isStageInputs() {} func (IgnitionStageInputInline) isStageInputs() {}
type IgnitionStageInput struct {
inputCommon
References IgnitionStageReferences `json:"references"`
}
type IgnitionStageReferences []string
func (IgnitionStageReferences) isReferences() {}
func NewIgnitionInlineInput(embeddedData string) Inputs { func NewIgnitionInlineInput(embeddedData string) Inputs {
inputs := new(IgnitionStageInputInline) input := NewFilesInput(NewFilesInputSourcePlainRef([]string{
inputs.InlineFile.Type = "org.osbuild.files" fmt.Sprintf("%x", sha256.Sum256([]byte(embeddedData))),
inputs.InlineFile.Origin = "org.osbuild.source" }))
inputs.InlineFile.References = IgnitionStageReferences{fmt.Sprintf("sha256:%x", sha256.Sum256([]byte(embeddedData)))} return &IgnitionStageInputInline{InlineFile: input}
return inputs
} }