Switch over to a reverse connection scheme (bridge to a guest bus)
This commit is contained in:
parent
ea34b7b08c
commit
52c3ea7cd3
5 changed files with 53 additions and 82 deletions
10
README.md
10
README.md
|
|
@ -14,9 +14,8 @@ A cross-domain smart D-Bus proxying system that makes (some) [XDG Desktop Portal
|
|||
|
||||
- `sidebus-broker` host process:
|
||||
- to be launched alongside the VMM
|
||||
- hosts D-Bus servers in-process, based on [busd](https://github.com/dbus2/busd):
|
||||
- a "private" bus for VM-instance-specific daemons such as permission-store and document-portal
|
||||
- a "VM" bus, the one actually exposed to the guest over vsock
|
||||
- hosts a "private" bus for VM-instance-specific daemons such as permission-store and document-portal
|
||||
- listens on vsock (or on a unix socket that muvm would proxy as vsock) and connects to the VM bus as a client when the agent connects
|
||||
- orchestrates the lifecycle of the aforementioned daemons + virtiofsd
|
||||
- (we are sharing the directory *provided by* the document-portal FUSE filesystem!)
|
||||
- provides portal front-end interfaces like `org.freedesktop.portal.FileChooser` on the VM bus
|
||||
|
|
@ -24,11 +23,10 @@ A cross-domain smart D-Bus proxying system that makes (some) [XDG Desktop Portal
|
|||
- (not talking directly to impls: don't want to reimplement per-DE portal selection; also 1:1 mapping is nicer to code)
|
||||
- but with extra hooks like exposing files to the guest using our private (per-VM) document-portal!
|
||||
- `sidebus-agent` guest process:
|
||||
- listens on a guest unix socket, proxies D-Bus messages to a vsock
|
||||
- spawned on-demand by systemd via socket activation
|
||||
- connects to the broker over vsock and splices the connection into the VM (session) bus
|
||||
- can be spawned spawned on-demand by D-Bus
|
||||
- uses systemd credentials for config args like vsock port
|
||||
- (very convenient to pass via the VMM, e.g. qemu: `-smbios type=11,value=io.systemd.credential:sidebus.port=1337`)
|
||||
- guest NixOS configuration exposed via the flake
|
||||
|
||||
## Development Notes
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue