debian-forge-composer/internal
Tomáš Hozza efbaa93eef Target/Koji: rework result options to contain more than just image info
The `KojiTargetResultOptions` previously contained information only
about the uploaded image file. And even then, some information, such as
the filename, were scattered in other structures such as
`KojiFinalizeJob` struct.

Since the plan is to start uploading also osbuild manifest and osbuild
build log to Koji, we need to extend the result options structure to
hold more information and also make it specific to which file is the
information related.

Rework the `KojiTargetResultOptions` to contain information about:
 - the built image
 - build log
 - osbuild manifest

Information about each file contains:
 - filename
 - checksum type
 - file checksum
 - file size

For now, only the built image information is set and consumed by the
worker.

Add custom JSON (un)marshaler for `KojiTargetResultOptions` to handle
backward compatibility when old version of worker or composer server
interact with each other. Cover them with unit tests.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2023-09-27 12:39:28 +02:00
..
auth internal/auth: add TenantChannelMiddleware 2023-06-28 15:08:37 +02:00
blueprint lint: Fix implicit memory aliasing in for loops 2023-09-21 16:56:54 +02:00
boot distro: remove architecture names and use platform enum 2023-05-31 16:40:07 +02:00
client test: Use test_distro.NewTestDistro from images 2023-09-21 16:56:54 +02:00
cloud internal/cloud/gcp/compute: keep legacy Guest OS Features for el9.0 2023-08-21 16:57:33 +02:00
cloudapi Target/Koji: rework result options to contain more than just image info 2023-09-27 12:39:28 +02:00
common upload/azure: migrate from azure-storage-blob-go to azure-sdk-for-go 2023-04-04 09:09:43 +02:00
dnfjson update to go 1.19 2023-07-21 19:18:00 +02:00
environment split: replace internal packages with images library 2023-07-10 21:11:19 +02:00
fdo New package: fdo 2022-12-11 12:37:37 +00:00
fsnode internal/fsnode: add API for custom directories and files 2023-02-22 12:17:36 +01:00
ignition ignition: drop embedded provisioning url 2023-02-07 13:30:22 +01:00
jobqueue update to go 1.19 2023-07-21 19:18:00 +02:00
jsondb jsondb: improve performance of list operation 2023-06-20 10:45:22 +02:00
mocks dnfjson: Add mock checksums to the packages used in testing 2023-09-21 16:56:54 +02:00
oscap internal/distro: default oscap datastreams 2023-06-29 13:42:49 +01:00
pathpolicy distro: add dir / files customizations policy check 2023-02-22 12:17:36 +01:00
platform distro: remove architecture names and use platform enum 2023-05-31 16:40:07 +02:00
prometheus prometheus: split off request timing information into separate mw 2023-06-28 15:08:37 +02:00
remotefile remotefile: Use io.ReadAll not ioutil.ReadAll 2023-03-22 08:14:01 -07:00
reporegistry split: replace internal packages with images library 2023-07-10 21:11:19 +02:00
runner runner: add platform-python only for RHEL 8+ 2023-01-25 20:37:12 +01:00
shell shell: new package for representing shell init configs internally 2023-03-30 18:40:12 +02:00
store split: replace internal packages with images library 2023-07-10 21:11:19 +02:00
target Target/Koji: rework result options to contain more than just image info 2023-09-27 12:39:28 +02:00
test split: replace internal packages with images library 2023-07-10 21:11:19 +02:00
upload Target/koji: mark optional fields in BuildOutput as omitempty 2023-09-27 12:39:28 +02:00
users users: convenience functions for converting from BP 2022-09-13 16:06:19 +01:00
weldr test: Use test_distro.NewTestDistro from images 2023-09-21 16:56:54 +02:00
worker Target/Koji: rework result options to contain more than just image info 2023-09-27 12:39:28 +02:00
workload split: replace internal packages with images library 2023-07-10 21:11:19 +02:00
tools.go Remove old build tag comments 2023-03-07 09:22:23 -08:00