Nikolay Edigaryev 47fef47d1c 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
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-01-31 22:22:28 +04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00
2023-03-14 11:31:13 -04:00

Orchard

Orchard is an orchestration system for Tart.

Create a cluster of bare-metal Apple Silicon machines and manage dozens of VMs with ease!

Installation

go install github.com/cirruslabs/orchard/...@latest

Quick start

Start the Orchard Controller and the Worker in a single inocation:

orchard dev

Create a Virtual Machine resource:

orchard create vm --image ghcr.io/cirruslabs/macos-ventura-base:latest ventura-base

Check a list of VM resources to see if the Virtual Machine we've created above is already running:

orchard list vms

Development

Development is done as one would normally develop any Golang package, however, if you did modify any *.proto files in the rpc/ directory, install Buf and run the following command from the project's root directory to re-generate the code:

buf generate
S
Description
Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices
Readme
3 MiB
Languages
Go 99.4%
JavaScript 0.6%