Skip to content
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

Add a RPC API #4

Open
cgwalters opened this issue Dec 1, 2022 · 2 comments
Open

Add a RPC API #4

cgwalters opened this issue Dec 1, 2022 · 2 comments

Comments

@cgwalters
Copy link
Collaborator

This heavily relates to https://github.com/cgwalters/bootc/issues/2 - but does not strictly depend on it.

My initial take is to add something like bootc upgrade --json which would not do interactive status prints, but write a defined stable JSON output format to stdout (or a specifically targeted fd).

But...it may be more sustainable to have a better protocol; as the issue says, whether that's DBus or Cap'n Proto or varlink, etc.

@cgwalters cgwalters changed the title Add a stable API Add a RPC API Dec 1, 2022
@cgwalters
Copy link
Collaborator Author

@baude you mentioned this in a chat - can you flesh out (or just link me to) what requirements you're thinking of here? It was in the context of podman desktop right?

I believe that use case is literally just bootc switch quay.io/podman:4.2 etc. right? Is there more requirements? (Can we just pass through tty status or does it actually need a proper API so that a GUI like podman desktop could render download progress?)

@cgwalters
Copy link
Collaborator Author

One of the bigger challenges with things like this in my experience is representing e.g. download progress. There's a lot of subtleties and tension between making it generic enough for future expansion but specific enough to render in a nice way in a GUI.

The rpm-ostree DBus APIs for this are okay-ish but not IMO great.

Quickly looking at e.g. the Docker HTTP API, it doesn't seem to have any byte-level progress for e.g. image fetches?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant