Proto commits in cirruslabs/orchard

These 5 commits are when the Protocol Buffers files have changed:

Commit:76f192b
Author:Nikolay Edigaryev
Committer:GitHub

API endpoint and associated RPC changes to resolve VMs IP's (#188) * API endpoint and associated RPC changes to resolve VMs IP's * Fix "Missing expected argument '<name>'" error when doing "tart set" * Implement TestIPEndpoint() and IP() method in controller HTTP client

The documentation is generated from this commit.

Commit:13b4e19
Author:Nikolay Edigaryev
Committer:GitHub

Introduce "orchard {port-forward, vnc} worker WORKER_NAME" (#140) * Fix potential NPE in Client.wsRequest() * Introduce "orchard {port-forward, vnc} worker WORKER_NAME" * portspec.go: simplify logic and respect [LOCAL_PORT]:REMOTE_PORT format

Commit:f152043
Author:Fedor Korotkov
Committer:GitHub

Reactive Scheduling (#67) Before we had two main loops: controller loop to assign VMs and worker loop to start VMs. Each of the loops was performed upon an interval every N seconds. This change introduces a mechanism for reactively requesting loop execution: 1. Controller loop will be executed upon VM creation to try to immediately schedule. 2. A worker will be notified upon a VM assigment and worker loop will be requested to sync immediately. Fixes #31

Commit:fb3056d
Author:Fedor Korotkov
Committer:GitHub

Refactorings for simplify readability (#35)

Commit:47fef47
Author:Nikolay Edigaryev
Committer:GitHub

Port forwarding support (#30) * Port forwarding support * .golangci.yml: remove and replace deprecated and archived linters * Client: pass credentials when calling WebSocket API methods * API: require ServiceAccountRoleComputeWrite role for port forwarding * Use Buf * Rename Poll() RPC method to Watch() * Split Rendezvous into two parts: Watcher and Proxy (#32) * Split Rendezvous into two parts: Watcher and Proxy * Implement Proxy cancellation * Use Protocol Buffers structure directly in Watcher * Fix TestWatcher after switching to Protocol Buffers structure * portForwardVM(): ensure we also check for gin's context