Releases: cirruslabs/orchard
0.28.3
What's Changed
- Bump golang.org/x/crypto from 0.33.0 to 0.35.0 by @dependabot in #260
- Bump github.com/pterm/pterm from 0.12.79 to 0.12.80 by @dependabot in #263
- Bump github.com/deckarep/golang-set/v2 from 2.1.0 to 2.7.0 by @dependabot in #262
- Bump github.com/gofrs/flock from 0.8.1 to 0.12.1 by @dependabot in #264
- Bump google.golang.org/grpc from 1.64.1 to 1.70.0 by @dependabot in #261
Full Changelog: 0.28.2...0.28.3
0.28.2
What's Changed
- Enable Dependabot version updates by @edigaryev in #253
- Bump golang.org/x/crypto from 0.26.0 to 0.33.0 by @dependabot in #258
- Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in #256
- Bump golang.org/x/net from 0.28.0 to 0.35.0 by @dependabot in #255
- Controller API: correctly detect WebSocket closure in experimental watch RPC by @edigaryev in #259
- Bump github.com/hashicorp/go-version from 1.6.0 to 1.7.0 by @dependabot in #254
- Bump go.opentelemetry.io/otel/sdk/metric from 1.27.0 to 1.34.0 by @dependabot in #257
Full Changelog: 0.28.1...0.28.2
0.28.1
What's Changed
- Worker: prefer assigned CPU/memory to CPU/memory by @edigaryev in #250
- Always randomize MAC address by @edigaryev in #251
Full Changelog: 0.28.0...0.28.1
0.28.0
What's Changed
- orchard create vm: introduce --random-serial command-line argument by @edigaryev in #248
- Startup script: implement retries for connection-related operations by @edigaryev in #249
Full Changelog: 0.27.1...0.28.0
0.27.1
What's Changed
- RPC v2: fix Ping() hanging due to PONG not being processed by @edigaryev in #247
Full Changelog: 0.27.0...0.27.1
0.27.0
New features
WebSocket-based RPC v2
You can now pass --experimental-rpc-v2
command-line argument to orchard controller run
to enable the new and simplified RPC protocol for Controller ↔︎ Workers communication.
Workers (need to be of version 0.27.0
or higher) will detect that the new protocol is enabled and switch to it automatically.
Old workers will continue to use gRPC over HTTP/2 until upgraded to 0.27.0
, even with the new version of controller.
The main goal of the this new protocol is to only use HTTP/1.1 over a single port and avoid multiplexing issues with nginx and other proxies/load balancers, behind which the Orchard Controller is typically deployed.
Scheduling by labels
You can now specify --labels
command-line argument to orchard create vm
, which will cause the VM to be only schedulable on a worker having these labels.
A list of labels supported by the worker is set by providing a --labels
command-line argument to orchard worker run
.
For example, a VM created with orchard create vm --labels node=large,type=tests
will only be scheduled:
- on the
orchard worker run --labels node=large,type=tests,dc=nyc1
worker - ...but not on the
orchard worker run --labels node=large,dc=nyc1
worker
Default CPU and memory on workers
VMs can now be created with zero CPU and/or memory, and workers can now provide a default value via --default-cpu
and --default-memory
command-line arguments.
This allows to fully utilize the resources available on hosts of different configurations (e.g. Mac Minis and Mac Studios), since one doesn't generally know on which type of host the VM will be scheduled on.
What's Changed
- Introduce WebSocket-based RPC v2 by @edigaryev in #239
- Bump github.com/golang/glog from 1.2.0 to 1.2.4 by @dependabot in #241
- Allow creating VMs with implicit CPU and memory by @edigaryev in #243
- Support scheduling by labels by @edigaryev in #244
- Small timout for worker notification by @fkorotkov in #242
- Avoid including " and $ characters in bootstrap admin's token by @edigaryev in #245
- Worker notification improvements by @edigaryev in #246
Full Changelog: 0.26.4...0.27.0
0.26.4
What's Changed
- Prevent goroutine leak when Close()'ing *grpc_net_conn.Conn by @edigaryev in #237
Full Changelog: 0.26.3...0.26.4
0.26.3
What's Changed
- API: only overwrite specific worker fields when worker already exists by @edigaryev in #236
Full Changelog: 0.26.2...0.26.3
0.26.2
What's Changed
- Worker: do not consider on-disk VMs syncing error as fatal by @edigaryev in #230
Full Changelog: 0.26.1...0.26.2
0.26.1
What's Changed
- Never list workers in Update()/storeUpdate() transactions by @edigaryev in #228
Full Changelog: 0.26.0...0.26.1