Skip to content

Create every VM with the VNC clipboard and a serial port - #20

Merged
MorningLightMountain713 merged 2 commits into
masterfrom
feat/console-copy-devices
Oct 23, 2026
Merged

MorningLightMountain713 merged 2 commits into
masterfrom
feat/console-copy-devices

Conversation

@MorningLightMountain713

Copy link
Copy Markdown
Collaborator

Every VM arcane-mage creates now has two more settings:

  • vga: std,clipboard=vnc: Proxmox's VNC clipboard (PVE 8.2+, below our 8.4.1 minimum). It wires QEMU's qemu-vdagent into the VM, so the noVNC console's clipboard panel can receive text the node offers.
  • serial0: socket: a serial port, shown by Proxmox's xterm.js console.

Why: the ArcaneOS console's Copy button now sends the configure link (the QR code's link, token included) to both places, so an operator can copy it from the noVNC clipboard panel or the xterm.js console instead of scanning the QR code. That's flux_config_tui 6162c90, plus a udev rule in the image giving the console user only these two devices.

Proven on a lab VM (PVE 9.1.7, QEMU 10.1.2) with the same two settings: the link appeared in noVNC's clipboard panel and as selectable text in xterm.js.

Security:

  • The node only ever offers text. It never asks for the host's clipboard, and drops everything else the host sends.
  • Nothing on the node reads the serial port, which is set raw with no echo.

Tests: a new test checks both settings reach the Proxmox API dict. ruff, format, ty and pytest (230) pass locally.

🤖 Generated with Claude Code

The node's console copies its configure link to the viewer through both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MorningLightMountain713
MorningLightMountain713 merged commit 7076879 into master Oct 23, 2026
3 checks passed
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

Successfully merging this pull request may close these issues.

1 participant