Guest agent for Tart VMs
Go to file
Nikolay Edigaryev 24335e9c8c
RPC: introduce ResolveIP() method to support "tart ip --resolver=agent" (#14)
* RPC: introduce Resolve() method to support "tart ip --resolver=agent"

* CI: fix GoReleaser installation

* Slightly reword Resolve() errors
2025-06-19 13:06:26 +04:00
.github Added code owners (#8) 2025-05-12 17:31:59 +04:00
cmd Automatic disk resizing for macOS VMs (#1) 2025-04-07 22:54:19 +04:00
internal RPC: introduce ResolveIP() method to support "tart ip --resolver=agent" (#14) 2025-06-19 13:06:26 +04:00
proto/rpc RPC: introduce ResolveIP() method to support "tart ip --resolver=agent" (#14) 2025-06-19 13:06:26 +04:00
.cirrus.yml RPC: introduce ResolveIP() method to support "tart ip --resolver=agent" (#14) 2025-06-19 13:06:26 +04:00
.gitignore Build universal binary instead of architecture dependent (#7) 2025-05-12 23:42:45 +04:00
.golangci.yml Automatic disk resizing for macOS VMs (#1) 2025-04-07 22:54:19 +04:00
.goreleaser.yml Build universal binary instead of architecture dependent (#7) 2025-05-12 23:42:45 +04:00
LICENSE Add LICENSE and publish to our tap (#2) 2025-04-07 23:41:27 +04:00
README.md RPC: introduce ResolveIP() method to support "tart ip --resolver=agent" (#14) 2025-06-19 13:06:26 +04:00
buf.gen.yaml "tart exec" support (--run-rpc) and component groups (e.g. --run-daemon) (#10) 2025-05-19 18:53:16 +04:00
buf.yaml "tart exec" support (--run-rpc) and component groups (e.g. --run-daemon) (#10) 2025-05-19 18:53:16 +04:00
go.mod tart exec support: fix StdoutPipe() and StderrPipe() usage (#13) 2025-06-12 00:08:13 +04:00
go.sum tart exec support: fix StdoutPipe() and StderrPipe() usage (#13) 2025-06-12 00:08:13 +04:00

README.md

Guest agent for Tart VMs

A guest agent for Tart VMS is a lightweight background service that runs inside the virtual machine and enables enhanced communication between the host and guest and other useful features, such as automatic disk resizing.

Currently implemented features:

  • Automatic disk resizing for macOS VMs with recovery partition removed (--resize-disk)
  • Clipboard sharing for macOS VMs using our in-house SPICE vdagent implementation (--run-vdagent)
  • tart exec support (--run-rpc)
    • it's recommended to invoke it as a launchd global agent because fewer privileges will be available to commands started via tart exec
    • however, you can also invoke it as a launchd global daemon if running commands started via tart exec as root is desired
  • tart ip --resolver=agent support (--run-rpc)
    • allows resolving VM's IP address without relying on DHCP leases and/or an ARP table

To run all features appropriate for a given context, use component groups: