Nikolay Edigaryev 4eafec99a5 Fail VMs if the worker had crashed/is unhealthy (#70)
* Fail VMs if the worker had crashed/is unhealthy

* OnDiskName: properly handle cases when VM's name contains hyphens

* Worker: introduce Offline() method and check it before scheduling

* tart.List(): use Tart's JSON output

* OnDiskName: remove empty parts check

* Scheduler: move health-checking logic to a separate function

* Only fail "running" VMs

* Only fail orphaned VMs if they're in terminal state

* Integration tests

* Run healthCheckingLoopIteration() before schedulingLoopIteration()

* Worker: sync on-disk VMs only once at start
2023-04-03 16:47:49 +04:00
2023-03-27 17:30:54 +04:00
2023-03-28 20:51:41 +04:00
2023-01-31 22:22:28 +04:00
2023-03-20 15:28:24 -04:00
2023-03-14 11:31:13 -04:00
2023-03-20 15:28:24 -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-24 09:49:06 -04:00
2023-03-27 17:30:54 +04:00
2023-03-20 15:28:24 -04:00
2023-03-29 16:09:57 +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!

Quick start

Start the Orchard in local development mode:

brew install cirruslabs/cli/orchard
orchard dev

This will start Orchard Controller and a single Orchard Worker on your local machine. For production deployments, please refer to the Deployment Guide.

Creating Virtual Machines

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

Accessing Virtual Machines

To SSH into a VM use the orchard ssh command:

orchard ssh vm ventura-base

You can specify the --username and --password flags to specify the username/password pair to SSH. By default, admin/admin is used.

Similar to ssh command, you can use vnc command to open Screen Sharing into a remote VM:

orchard vnc vm --username=administrator --password=password101 ventura-base

From architecture perspective, Orchard has a lower level API for port forwarding that ssh and vnc commands are built on top of. All port forwarding connections are done via the Orchard Controller instance which "proxies" a secure connection to the Orchard Workers. Therefore, your workers can be located under a stricter firewall that only allows connections to the Orchard Controller instance. Orchard Controller instance is secured by default and all API calls are authenticated and authorized.

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%