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 {
InlineFile IgnitionStageInput `json:"inlinefile"`
InlineFile *FilesInput `json:"inlinefile"`
}
func (IgnitionStageInputInline) isStageInputs() {}
type IgnitionStageInput struct {
inputCommon
References IgnitionStageReferences `json:"references"`
}
type IgnitionStageReferences []string
func (IgnitionStageReferences) isReferences() {}
func NewIgnitionInlineInput(embeddedData string) Inputs {
inputs := new(IgnitionStageInputInline)
inputs.InlineFile.Type = "org.osbuild.files"
inputs.InlineFile.Origin = "org.osbuild.source"
inputs.InlineFile.References = IgnitionStageReferences{fmt.Sprintf("sha256:%x", sha256.Sum256([]byte(embeddedData)))}
return inputs
input := NewFilesInput(NewFilesInputSourcePlainRef([]string{
fmt.Sprintf("%x", sha256.Sum256([]byte(embeddedData))),
}))
return &IgnitionStageInputInline{InlineFile: input}
}