Skip to content

[RFE] Implement DBus communication for client-server architecture #75

@dongsupark

Description

@dongsupark

Currently ue-rs is a single command-line tool to fetch sysext OEM images, verify signatures, etc. That is sufficient for status of proof-of-concepts for quick implementation.

Ideally that should be split into separate server and client, where they communicate via DBus with each other. That is already done by the production update_engine.

What the server part basically should do:

  • Set up a DBus service upon initialization.
    • Get a bus as well as a DBus proxy.
    • Request a DBus name.
    • Register a DBus object.
  • Run a scheduler for running periodic update checks.
  • Run into a main loop listening for requests.
  • Clean up the DBus service upon exit.

What the client part basically should do:

  • Get a bus as well as a DBus proxy.
  • Send a DBus request AttemptUpdate to the server to trigger update activities.

Rust-native DBus communication could be implemented by using crates like zbus. See also a reference implementation busd.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions