Commit Graph

8 Commits

Author SHA1 Message Date
Daniel Gräfe 6bceea7928 Lazy clipboard init and backoff when SPICE not connected
When the SPICE clipboard channel is not available (e.g., running
headless or without clipboard sharing), the vdagent would previously
retry every 1 second, initializing the clipboard library each time.
This caused unnecessary CPU usage.

Changes:
- Defer clipboard.Init() until first successful SPICE message
- Add ErrSPICENotConnected error type to distinguish "never connected"
  from "connection lost"
- Use 1-minute backoff when SPICE is not available, vs 1-second for
  transient failures

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:33:34 +01:00
Nikolay Edigaryev c166ad56ce
When running in daemon or agent mode, wait indefinitely until terminated (#33) 2025-12-11 16:07:12 +01:00
Nikolay Edigaryev da981a8760
Automatically install and start a systemd service (#21)
* Automatically install and start a systemd service

* Use Bash and set shell options to enable fail-fast behavior

* Ensure that we're performing disk manipulations on Tart 2.0.0 or newer
2025-08-04 16:33:59 +04:00
Nikolay Edigaryev 7262299ff0
Support Linux (#17) 2025-07-28 20:15:12 +04:00
Nikolay Edigaryev 43606ef0d8
tart-guest-agent --run-agent: make errors non-fatal (#15) 2025-06-19 19:12:30 +04:00
Nikolay Edigaryev 9fac15bc9a
"tart exec" support (--run-rpc) and component groups (e.g. --run-daemon) (#10)
* "tart exec" support (--run-rpc) and component groups (e.g. --run-daemon)

* CI: check for lacking "buf generate" invocation

* CI: a task to run "buf push"

* defer ptmx.Close()

* Use getpeername(2) to get AF_VSOCK peer's identity

* Only call ptmx.Close() when pty.StartWithSize() succeeded
2025-05-19 18:53:16 +04:00
Nikolay Edigaryev dbffcb0b08
Implement SPICE vdagent with clipboard sharing functionality (#3)
* Implement SPICE vdagent clipboard copy-paste functionality

* Install libx11-dev

* Fix typo in "sucessfully"

* Simply print the capabilities as an integer
2025-04-29 18:21:28 +04:00
Nikolay Edigaryev 42e506671f
Automatic disk resizing for macOS VMs (#1)
* Automatic disk resizing for macOS VMs

* CI: install Golang via Homebrew

* diskresizer_test.go: fix fixture values for "diskSizeUnused"
2025-04-07 22:54:19 +04:00