From cf0571b90852eb109b2155aab3a03620eb728178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= Date: Thu, 5 Oct 2023 17:30:32 +0200 Subject: [PATCH] Worker/osbuild: indent manifest before uploading to Koji MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Indent the osbuild manifest before uploading it to Koji. This will make it much nicer for reading by humans. Signed-off-by: Tomáš Hozza --- cmd/osbuild-worker/jobimpl-osbuild.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cmd/osbuild-worker/jobimpl-osbuild.go b/cmd/osbuild-worker/jobimpl-osbuild.go index e8072247b..e6b654b1b 100644 --- a/cmd/osbuild-worker/jobimpl-osbuild.go +++ b/cmd/osbuild-worker/jobimpl-osbuild.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "crypto/rand" + "encoding/json" "fmt" "math" "math/big" @@ -883,10 +884,16 @@ func (impl *OSBuildJobImpl) Run(job worker.Job) error { } logWithId.Info("[Koji] 🎉 Image successfully uploaded") - manifest := bytes.NewReader(jobArgs.Manifest) + var manifest bytes.Buffer + err = json.Indent(&manifest, jobArgs.Manifest, "", " ") + if err != nil { + logWithId.Warnf("[Koji] Indenting osbuild manifest failed: %v", err) + targetResult.TargetError = clienterrors.WorkerClientError(clienterrors.ErrorKojiBuild, err.Error(), nil) + break + } logWithId.Info("[Koji] ⬆ Uploading the osbuild manifest") manifestFilename := jobTarget.ImageName + ".manifest.json" - manifestHash, manifestSize, err := kojiAPI.Upload(manifest, targetOptions.UploadDirectory, manifestFilename) + manifestHash, manifestSize, err := kojiAPI.Upload(&manifest, targetOptions.UploadDirectory, manifestFilename) if err != nil { logWithId.Warnf("[Koji] ⬆ upload failed: %v", err) targetResult.TargetError = clienterrors.WorkerClientError(clienterrors.ErrorUploadingImage, err.Error(), nil)