summaryrefslogtreecommitdiffhomepage
path: root/control/controlhttp/controlhttpserver/controlhttpserver.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@tailscale.com>2026-04-10 06:43:21 -0700
committerBrad Fitzpatrick <bradfitz@tailscale.com>2026-04-10 06:43:21 -0700
commitef69d2041b4741f48b6ca3d92a7c7ce617ea68cc (patch)
tree581634d69b85588bd559712b8bda48b1167d3885 /control/controlhttp/controlhttpserver/controlhttpserver.go
parent03c3551ee50921cd4dba46e8fe08a6a49b0e9920 (diff)
downloadtailscale-ef69d2041b4741f48b6ca3d92a7c7ce617ea68cc.tar.xz
tailscale-ef69d2041b4741f48b6ca3d92a7c7ce617ea68cc.zip
tstest/natlab/vmtest: add macOS VM support and TestMacOSAndLinuxCanPing
Add macOS VM support to the vmtest integration test framework using tailmac (Apple Virtualization.framework). The new TestMacOSAndLinuxCanPing creates a LAN with a Gokrazy arm64 Linux VM (QEMU/HVF) and a macOS VM (tailmac) and verifies they can ping each other over vnet. Key changes: vmtest framework (tstest/natlab/vmtest/): - Add MacOS OSImage type with IsMacOS field - Add NoAgent node option for VMs without TTA - Add LANPing method using TTA's /ping endpoint with retries - Add --macos-vm-id flag for specifying the base macOS VM - Set up Unix datagram socket for macOS VMs (ProtocolUnixDGRAM) - Add tailmac.go for macOS VM clone/configure/launch lifecycle - Support arm64 QEMU with HVF on macOS hosts (virt machine type) - Use /tmp for socket paths to avoid 104-byte sun_path limit tailmac (tstest/tailmac/): - Add --headless flag to Host.app for GUI-less VM operation - Use RunLoop.main.run() instead of dispatchMain() (VZ framework requires the RunLoop for start/restore callbacks) - Single-NIC mode in headless (matches llmacstation VM config) - Add socketpair relay between VZ and the vnet dgram socket - Fix dispatchMain() bug in tailmac CLI's create command too gokrazy arm64: - Add natlab-arm64 Makefile target - Add gokrazydeps.go for github.com/gokrazy/kernel.arm64 - Add kernel.arm64 dependency to go.mod The test requires: macOS arm64 host, qemu-system-aarch64, a pre-built macOS VM (--macos-vm-id flag), and tailmac Host.app built.
Diffstat (limited to 'control/controlhttp/controlhttpserver/controlhttpserver.go')
0 files changed, 0 insertions, 0 deletions