With the new images library changes to move the pipeline
roles out of the image types into the manifest we need
to tweak osbuild-composer to use the new way of getting
the payload and build pipelines.
This commit implements that new method based on the
manifest instead of the image type. See images pr#1766
for the rational of the change.
It turned out that the Pulp upload target was never adopted by the
service, thus it is being removed as part of upload code consolidation.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
It turned out that the target was never adopted by the service, thus it
is being removed as part of the upload code consolidation.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
It turned out that the target was never adopted by the service, thus it
is being deleted as part of upload code consolidation.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
It turned out that the target was never adopted by the service, thus it
is being deleted as part of upload code consolidation.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Start embedding the awscloud.AWS from osbuild/images in
osbuild-composer's version of awscloud.AWS. The idea is to remove all
methods from osbuild-composer implementation, which are used for
uploading and registering images in AWS. The rest that it related to
service maintenance or to running secure instances, will be kept in
osbuild-composer, since these are specific to the project.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The changes to the TestComposeUnsupportedMountPointV0() test case when
the osbuild/images has been updated to v0.172.0 broke the RHEL nightly
and GA CI pipelines.
Change the test to be backward compatible with osbuild/images <
v0.172.0.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The internal blueprint implementation has been removed from
osbuild/images. Conversion from osbuild/blueprint blueprints to
osbuild/images blueprints is no longer necessary.
Delete the no longer used osbuild-images-tests command. Subsequently,
delete the /internal/boot packages, which were used only by the command
and also depended on its data structures.
Technically, no boot test were done using the code in this repository
for quite some time. And the long term plan is to boot test all images
in the osbuild/images repository.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This uses the blueprint and the image type's manifest with a minimal
imageRequest to get the package sets to use for depsolving, instead of
just using the packages in the blueprint.
This does not work with iot image types that require an ostree url.
Depsolving iot commits doesn't make sense anyway, since the blueprint
packages have no effect on it.
Includes simple tests for depsolving with image type, and returning an
error if the image type isn't recognized.
Related: RHEL-60125
The oapi-codegen update to v2.5.0 changed the Details field of the main
Error type to be an empty interface. This requires updates to the error
handling tests to accommodate the new structure.
v1.60 seems to have some issues [1] with something in our dependency
chain. Update to v1.61 and fix all new issues.
New issues are all instances of potential integer overflow from int ->
uint conversions. Added guards where appropriate and disabled the check
when when it's not needed.
[1] https://github.com/osbuild/osbuild-composer/actions/runs/16624417387/job/47037518471
Migration 9 alters the result column in the jobs table is relied on for
compose statuses. Because it has to be kept consistent across
migrations, add a test to verify this.
As a side effect, the test itself handles the migration now, so remove
that part from the tests GHA.
Postgres doesn't accept `\u0000` in the jsonb datatype. Switch to the
json datatype which is larger and slower, but accepts escaped null
bytes.
As we don't actually query or index the result jsonb directly, the
impact of this should be minimal.
See: https://www.postgresql.org/docs/current/datatype-json.html
The latest version of osbuild/blueprint changed some BP properties
to be 'omitempty', thus the expected API responses need to be adjusted
to account for this change.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Delete the `internal/upload/koji` package and replace it with
`pkg/upload/koji` package provided by `osbuild/images`.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Use the version that contains the updated Koji upload code.
Also bump the version of `osbuild/blueprint` due to the new `uri` field
in file customizations.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
The most common one is going to be trying to delete a compose before it
is finished, and that is certainly not worthy of a 500 server error
since it is a temporary state.
Delete the osbuild-koji tools, which is not used by any code or test
case. This also allows to delete the koji.NewFromPlain() function. This
is to minimize the set of exported functions by the koji package, before
moving it to osbuild/images repository.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Modify the Koji image extra metadata to not depend on the upload target
data structure for the OSBuild Artifact. This is the last dependency on
the internal osbuild-composer package, allowing the move of the Koji
upload code to the osbuild/images repository.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
Modify the Koji image extra metadata to not depend on the upload target
data structures for upload results. The target results are supposed to
be specific to the uploader implementation, which will eventually
change. Moreover, the definition is internal to osbuild-composer, so
this would create a problem once the Koji upload implementation is moved
to osbuild/images.
The Koji upload implementation does not really care about the exact
structure of the upload results. It is just a list of JSON objects.
Signed-off-by: Tomáš Hozza <thozza@redhat.com>