diff --git a/internal/weldr/api.go b/internal/weldr/api.go index 78cc38ab2..3535c59c4 100644 --- a/internal/weldr/api.go +++ b/internal/weldr/api.go @@ -2247,10 +2247,16 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request composeID := uuid.New() var targets []*target.Target + // Always instruct the worker to upload the artifact back to the server + workerServerTarget := target.NewWorkerServerTarget() + workerServerTarget.ImageName = imageType.Filename() + workerServerTarget.OsbuildArtifact.ExportFilename = imageType.Filename() + targets = append(targets, workerServerTarget) if isRequestVersionAtLeast(params, 1) && cr.Upload != nil { t := uploadRequestToTarget(*cr.Upload, imageType) targets = append(targets, t) } + // Check for test parameter q, err := url.ParseQuery(request.URL.RawQuery) if err != nil { @@ -2348,10 +2354,9 @@ func (api *API) composeHandler(writer http.ResponseWriter, request *http.Request var jobId uuid.UUID jobId, err = api.workers.EnqueueOSBuild(api.archName, &worker.OSBuildJob{ - Manifest: manifest, - Targets: targets, - ImageName: imageType.Filename(), - Exports: imageType.Exports(), + Manifest: manifest, + Targets: targets, + Exports: imageType.Exports(), PipelineNames: &worker.PipelineNames{ Build: imageType.BuildPipelines(), Payload: imageType.PayloadPipelines(), diff --git a/internal/weldr/api_test.go b/internal/weldr/api_test.go index 8a8dbaebd..1dc71d670 100644 --- a/internal/weldr/api_test.go +++ b/internal/weldr/api_test.go @@ -685,6 +685,16 @@ func TestCompose(t *testing.T) { QueueStatus: common.IBWaiting, ImageType: imgType, Manifest: manifest, + Targets: []*target.Target{ + { + ImageName: imgType.Filename(), + OsbuildArtifact: target.OsbuildArtifact{ + ExportFilename: imgType.Filename(), + }, + Name: target.TargetNameWorkerServer, + Options: &target.WorkerServerTargetOptions{}, + }, + }, }, Packages: dnfjson_mock.BaseDeps(), } @@ -702,6 +712,14 @@ func TestCompose(t *testing.T) { ImageType: imgType, Manifest: manifest, Targets: []*target.Target{ + { + ImageName: imgType.Filename(), + OsbuildArtifact: target.OsbuildArtifact{ + ExportFilename: imgType.Filename(), + }, + Name: target.TargetNameWorkerServer, + Options: &target.WorkerServerTargetOptions{}, + }, { Name: target.TargetNameAWS, Status: common.IBWaiting, @@ -734,6 +752,16 @@ func TestCompose(t *testing.T) { QueueStatus: common.IBWaiting, ImageType: imgType, Manifest: manifest, + Targets: []*target.Target{ + { + ImageName: imgType.Filename(), + OsbuildArtifact: target.OsbuildArtifact{ + ExportFilename: imgType.Filename(), + }, + Name: target.TargetNameWorkerServer, + Options: &target.WorkerServerTargetOptions{}, + }, + }, }, Packages: dnfjson_mock.BaseDeps(), } @@ -760,6 +788,16 @@ func TestCompose(t *testing.T) { QueueStatus: common.IBWaiting, ImageType: imgType2, Manifest: manifest2, + Targets: []*target.Target{ + { + ImageName: imgType2.Filename(), + OsbuildArtifact: target.OsbuildArtifact{ + ExportFilename: imgType2.Filename(), + }, + Name: target.TargetNameWorkerServer, + Options: &target.WorkerServerTargetOptions{}, + }, + }, }, Packages: dnfjson_mock.BaseDeps(), } @@ -1690,6 +1728,16 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) { QueueStatus: common.IBWaiting, ImageType: imgType, Manifest: manifest, + Targets: []*target.Target{ + { + ImageName: imgType.Filename(), + OsbuildArtifact: target.OsbuildArtifact{ + ExportFilename: imgType.Filename(), + }, + Name: target.TargetNameWorkerServer, + Options: &target.WorkerServerTargetOptions{}, + }, + }, }, Packages: dnfjson_mock.BaseDeps(), } @@ -1707,6 +1755,16 @@ func TestComposePOST_ImageTypeDenylist(t *testing.T) { QueueStatus: common.IBWaiting, ImageType: imgType2, Manifest: manifest, + Targets: []*target.Target{ + { + ImageName: imgType2.Filename(), + OsbuildArtifact: target.OsbuildArtifact{ + ExportFilename: imgType2.Filename(), + }, + Name: target.TargetNameWorkerServer, + Options: &target.WorkerServerTargetOptions{}, + }, + }, }, Packages: dnfjson_mock.BaseDeps(), }