Replies: 3 comments 2 replies
-
Some (random) thoughts on this:
Will we move blueprint parsing into the API or keep it in the client(s)? |
Beta Was this translation helpful? Give feedback.
-
Love to see this making progress! I have a comment on a very small point: the support for freezing blueprints might be implemented via a feature I had hoped to do ages and ages ago: Our current "compose" end point does two things internally: "depsolve" (which is essentially the same as "freeze")and "build". If we were to expose these as two separate calls (requiring state between them), we would support freezing (roughly) and it would also allow our cloud UI to be more powerful: we could depsolve before the review screen allowing us to show more info before building the image as well as handling more errors (caused by depsolve) before the build even starts. |
Beta Was this translation helpful? Give feedback.
-
Some code to add blueprints to cloudapi compose requests - osbuild/osbuild-composer#3757 |
Beta Was this translation helpful? Give feedback.
-
These are my notes on discussions about moving to a single API for local use with composer-cli, and for remote like cloudapi and cockpit-composer. Updated on November 15, 2024 with current status and links to open PRs
Overall goal is to have a single API, probably an extended cloudapi, that all the tools can use, resulting in less code duplication.
Some of the features that the weldr api were designed around no longer make sense to support. This includes:
The epic linking to all the jira issues is here - https://issues.redhat.com/browse/COMPOSER-2131
Current status as of osbuild-composer v125
/run/cloudapi/api.socket
when osbuild-composer is used on-premisis/var/lib/osbuild-composer/artifacts/
, if the service is started withOSBUILD_LOCALSAVE=1
in the environment, and an upload type of 'localsave' is used in the cloudapi compose request.There are a considerable number of pending PRs that need reviews, I've listed them in order of priority. I've tried to keep them as stand-alone as possible. The most entangled one is the job deletion PR which is currently left as a draft.
osbuild-composer
Add Architecture field to cloudapi blueprint schema
This makes it match the behavior of the blueprint in the weldr api.
List compose jobs
Cloudapi needs to be able to list the jobs it knows about. Job deletion depends on this one being merged first.
Include compose request with metadata response
Currently there is no way to know anything about the blueprint used to create a cloudapi compose, which makes it impossible to differentiate between composes without looking at the manifest.
List the distro/arch/image-types supported on cloudapi
This returns a map of all the supported distros so that users know what's possible to use when creating a compose.
Depsolve blueprints and search for packages
This allows users to see what a blueprint will pull in, and allows searching for packages in a similar way to the weldr api.
Delete compose jobs
This depends on osbuild/osbuild-composer#4425 and already has some stalled discussions on it. I'd prefer to get the above PRs sorted out before revisiting this.
weldr-client
Basic cloudapi support, starting compose, waiting for compose
This lays the groundwork for supporting the other new cloudapi routes. I have some of that working, but it all depends on this piece first. With this change you can start cloud composes using a local blueprint file instead of the ones stored in the weldr api.
Beta Was this translation helpful? Give feedback.
All reactions