-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
parse OCI deployment status into ImageManifest #5208
Conversation
Skipping CI for Draft Pull Request. |
A lot of discussion in #5196 |
The json-in-json we have now is obviously silly and unergonomic, and I am not opposed to trying to just change it. However, it is possible that something is parsing it as is today and there's some risk of breakage from that. Per discussion in the issue, my inclination is basically to try to fix this a different way for now - ideally one that ends up using bootc and leave rpm-ostree as is. |
To be able to always query that info from bootc, I think it also needs to support fishing it out of the OSTree commit even if there are layered packages. Anyway, feels weird to me to even have these keys in the I guess forking |
Just as clarification : I opened this PR here because I noticed this crate shares a lot of code with https://github.com/coreos/zincati/blob/main/src/rpm_ostree/cli_status.rs and thought the better approach was to fix it here and reuse that crate in Zincati. |
coreos/zincati#491 was work to have zincati actually use this code |
Closing in favor of coreos/zincati#1241 which is I think what makes sense for now (but still open to adding somewhat similar changes here if desired, though it's not clear to me that it's worth it). |
When the deployment is an OCI image, the base_commit_meta field contains serialized JSON.
So the values in this map can either be:
- Regular OSTree case: a JSON object
- OCI case : a string containing a serialized JSON object
In the OCI case, simply deserialize the strings before passing them to serde, when necessary.
See #5196