orchard/internal/controller
Nikolay Edigaryev c5e0d68a3d
API: introduce ability to watch a VM (#351)
* API: introduce ability to watch a VM

* Document ?watch=true for GET /vms/{name} in the OpenAPI specification

* WatchVM: ensure that goroutine is terminated on early return with error

* WatchVM: close channels on goroutine exit

* WatchVM: ensure that we wait for the goroutine after additional barriers

* WatchVM: ignore unexpected keys instead of throwing an error

* WatchVM: perform context-aware writes to a bounded channel

* WatchVM: don't forget to close errCh on goroutine exit too

* WatchVM: don't close readyCh in goroutine to avoid ambiguity

* WatchVM: filter out spurious KVs that signify VM deletion
2025-10-03 21:34:53 +04:00
..
lifecycle Controller: emit lifecycle events when the VM gets restarted or deleted (#208) 2024-09-24 17:53:10 +04:00
notifier Small timout for worker notification (#242) 2025-02-06 17:30:09 +00:00
rendezvous Introduce WebSocket-based RPC v2 (#239) 2025-01-30 17:33:32 +04:00
scheduler orchard controller run: introduce --experimental-disable-db-compression (#336) 2025-08-19 17:31:18 +04:00
sshserver Small timout for worker notification (#242) 2025-02-06 17:30:09 +00:00
store API: introduce ability to watch a VM (#351) 2025-10-03 21:34:53 +04:00
api.go API: introduce ability to watch a VM (#351) 2025-10-03 21:34:53 +04:00
api_cluster_settings.go "--scheduler-profile" option to allow different orchestration patterns (#224) 2024-11-28 20:07:46 +04:00
api_controller.go Introduce WebSocket-based RPC v2 (#239) 2025-01-30 17:33:32 +04:00
api_rpc_portforward.go Fix websocket.(*Conn).timeoutLoop goroutine leak (#329) 2025-07-11 15:23:50 +04:00
api_rpc_resolve_ip.go Introduce WebSocket-based RPC v2 (#239) 2025-01-30 17:33:32 +04:00
api_rpc_watch.go Fix websocket.(*Conn).timeoutLoop goroutine leak (#329) 2025-07-11 15:23:50 +04:00
api_service_accounts.go API: update service account fields on PUT (#198) 2024-08-21 20:03:52 +04:00
api_test.go REST API: provide error messages in error responses (#66) 2023-03-27 14:12:03 -04:00
api_vms.go API: introduce ability to watch a VM (#351) 2025-10-03 21:34:53 +04:00
api_vms_ip.go Worker notification improvements (#246) 2025-02-07 00:38:04 +04:00
api_vms_portforward.go Fix websocket.(*Conn).timeoutLoop goroutine leak (#329) 2025-07-11 15:23:50 +04:00
api_workers.go ghcr.io/cirruslabs/macos-sequoia-base:latest for everything (#344) 2025-09-25 20:43:53 +04:00
api_workers_portforward.go Worker notification improvements (#246) 2025-02-07 00:38:04 +04:00
controller.go orchard controller run: introduce configurable --worker-offline-timeout (#342) 2025-09-17 00:10:39 +04:00
datadir.go Orchard Controller: implement an SSH server that acts as a jump host (#179) 2024-06-11 19:32:45 +04:00
errorresponse.go REST API: provide error messages in error responses (#66) 2023-03-27 14:12:03 -04:00
option.go orchard controller run: introduce --experimental-disable-db-compression (#336) 2025-08-19 17:31:18 +04:00
rpc.go Introduce WebSocket-based RPC v2 (#239) 2025-01-30 17:33:32 +04:00
wserror.go Controller API: correctly detect WebSocket closure in Watch RPC (#259) 2025-02-20 02:00:57 +04:00