Releases: cirruslabs/orchard
0.55.0
What's Changed
- Supporting reconnecting to
/execsocket by @fkorotkov-oai in #434 - Add more options to
/execby @fkorotkov-oai in #435 - Retry VM exec SSH setup during concurrent bursts by @fkorotkov-oai in #437
New Contributors
- @fkorotkov-oai made their first contribution in #434
Full Changelog: 0.54.0...0.55.0
0.54.0
0.53.0
Notable changes
Orchard now supports Linux workers powered by Vetu virtualization
To give it a try, run orchard worker run on a Linux machine and create a new VM with --runtime vetu set.
Make sure that Vetu is installed on that worker, and that the user under which orchard worker run is running has /dev/kvm access.
Vetu supports Tart VM image format and OCI registries, and if you're looking for an image to try out, check out Linux images published by Cirrus Labs.
VM architecture differentiation
Previously, Orchard assumed that all VMs and workers run on arm64. Now it's just the default.
With the introduction of Vetu, one might have an Orchard cluster with different architectures, e.g. arm64 and amd64.
Workers will report their architecture to the Controller automatically, but you need to explicitly specify the architecture when creating non-arm64 VMs, otherwise they won't be scheduled correctly.
Use --arch command-line argument to orchard create vm (or arch field when creating a VM using API) to do that.
VM's operating system is now explicit
Previously, Orchard assumed that a VM's operating system was always darwin (macOS). This worked for Linux VMs too, but not without pitfalls (#382). Now darwin is just a default.
You can now explicitly set a VM's operating system at creation time with --os command-line argument to orchard create vm (or using os field when creating via API).
This is useful to disable the Apple EULA 2 VMs limit check by Orchard, as this limit does not apply to Linux VMs on macOS host.
What's Changed
- Support Vetu virtualization on Linux in addition to Tart on macOS by @edigaryev in #419
- Bump the all-updates group across 1 directory with 13 updates by @dependabot[bot] in #421
- create vm: introduce --{os,arch,runtime} command-line arguments by @edigaryev in #422
Full Changelog: 0.52.0...0.53.0
0.52.0
What's Changed
- test(load): avoid unnecessary new Uint8Array(...) by @edigaryev in #414
- Replace Prometheus with OpenTelemetry by @edigaryev in #413
- Bump the all-updates group with 4 updates by @dependabot[bot] in #415
- Bump the all-updates group with 9 updates by @dependabot[bot] in #416
- README.md: document an alternative "Local Network" permission workaround by @edigaryev in #417
- Fix race in port-forward by @mpbb in #418
New Contributors
Full Changelog: 0.51.0...0.52.0
0.51.0
What's Changed
- controller(api): new "GET /vms/{name}/exec" WebSocket-based endpoint by @edigaryev in #408
- controller(listVMs): avoid copy of each element when filtering by @edigaryev in #401
- Worker: decouple updateWorker() and syncVMs() to use different triggers by @edigaryev in #403
- Enable Gin's context fallback by @edigaryev in #409
- Instantiate new client for each spawned worker by @edigaryev in #402
- Grafana k6 load script: handle exceptions and provide more checks by @edigaryev in #404
Full Changelog: 0.50.1...0.51.0
0.50.1
What's Changed
- controller(listVMs): reduce allocations by @edigaryev in #400
Full Changelog: 0.50.0...0.50.1
0.50.0
What's Changed
- Bump the all-updates group with 7 updates by @dependabot[bot] in #395
- Fix Grafana k6 script to not consume all system's CPU by @edigaryev in #396
- echoserver: do not treat client errors as fatal by @edigaryev in #398
- Worker: ignore HTTP 404 when updating VM by @edigaryev in #397
- Refactor listing VMs by @fkorotkov in #399
Full Changelog: 0.49.0...0.50.0
0.49.0
Notable changes
Server-side filtering of VMs
GET /vms endpoint now supports filter query parameter, which Orchard Workers uses to limit the VMs returned only to those assigned to it.
This greatly improves the performance for Orchard Controllers that have maintain lots of active VMs objects.
New compute:connect role
The new compute:connect role is a more fine-grained alternative to compute:write and allows to:
- initiate a port-forwarding session to a VM
- query VM's IP address
- SSH to a VM through the Orchard Controller's built-in SSH server (enabled manually via
--listen-ssh)
What's Changed
- Support authentication and TLS in k6 load testing script by @edigaryev in #391
- Implement server-side filtering for VMs by worker by @edigaryev in #392
- Introduce "compute:connect" role by @edigaryev in #393
Full Changelog: 0.48.0...0.49.0
0.48.0
What's Changed
- Load testing: synthetic VMs, multiple worker support and Grafana k6 test by @edigaryev in #389
- orchard worker run: introduce "--synthetic" and "--workers" hidden flags by @edigaryev in #390
Full Changelog: 0.47.0...0.48.0
0.47.0
What's Changed
- Bump github.com/shirou/gopsutil/v4 from 4.25.11 to 4.25.12 in the all-updates group by @dependabot[bot] in #384
- Bump the all-updates group with 3 updates by @dependabot[bot] in #385
- Worker: define VM interface and make tart.VM conform to it by @edigaryev in #388
- Add pagination support for listing VM events by @fkorotkov in #386
Full Changelog: 0.46.1...0.47.0