VALIDATION
Validation
Chimera targets Go 1.25+ because the vSphere persona is pinned to github.com/vmware/govmomi v0.56.0. Nutanix, Hyper-V, AWS, and Azure personas use the Go standard library only (no extra module deps).
Full verification¶
make verify
(equivalently ./scripts/verify.sh). This performs:
gofmtcleanliness checkgo test ./...(includinginternal/fixturetests, theintegration/govmomi vSphere E2E, Nutanix/Hyper-V persona E2E, and AWS/Azure cloud persona E2E)go vet ./...go build -trimpath -o bin/chimera ./cmd/chimera- optional embedded-dashboard JavaScript syntax validation when Node.js is installed
GitHub Actions runs the same go test/vet/build/gofmt path on every push (.github/workflows/ci.yml, Go 1.25.x).
End-to-end validation beyond go test¶
Unit and integration tests cover the API surface; two additional scripts validate things that need a running process and/or real disk images:
scripts/verify-real-fixture.sh— fetches a real sample VMDK (make fixtures), starts a throwawaychimera serve, downloads the complete export of the VM it was assigned to (chimera selftest -vm <name> -save <path>, not just the default 4KB probe), and confirmsqemu-img inforecognizes the result as a valid disk image. This is the proof that exported disks are real, not filler bytes.scripts/deploy-remote.sh— beyond installing Chimera as a systemd service on a remote host, it also runschimera selftestagainst the freshly deployed instance and pointsscripts/transiva-smoke.shat it, so a deploy is only reported successful once login → inventory →ExportVm→ NFC download have actually been exercised against the real network path.
This project has also been validated against a live deployment alongside Transiva (a real vSphere migration tool): pointing Transiva's vcenter_url at a running Chimera instance and confirming it can log in, discover VMs, and export a real, qemu-img-valid disk end to end. See docs/TRANSIVA.md.
Protocol persona smoke (no external cloud accounts required):
go test ./integration/ -run 'Persona|AWS|Azure'
Test matrix¶
See docs/TEST_MATRIX.md for the full acceptance matrix (vSphere, Nutanix Prism, Hyper-V WS-Man, AWS EC2/EBS, and Azure ARM checks).