Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices
Go to file
Fedor Korotkov f152043f19
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
2023-03-28 20:51:41 +04:00
api Make port-forward endpoint to wait for the VM (#65) 2023-03-27 23:52:21 +04:00
cmd/orchard Initial version of the Orchard orchestration system (#3) 2023-01-26 23:46:23 +04:00
docs Resources support (#63) 2023-03-27 17:30:54 +04:00
internal Reactive Scheduling (#67) 2023-03-28 20:51:41 +04:00
pkg Make port-forward endpoint to wait for the VM (#65) 2023-03-27 23:52:21 +04:00
rpc Reactive Scheduling (#67) 2023-03-28 20:51:41 +04:00
.cirrus.star Use golangci-lint (#15) 2023-01-31 22:22:28 +04:00
.cirrus.yml Prepare for release (#37) 2023-03-20 15:28:24 -04:00
.gitignore Better state syncing and other improvements (#24) 2023-03-01 11:42:16 -05:00
.golangci.yml Port forwarding support (#30) 2023-03-14 11:31:13 -04:00
.goreleaser.yml Prepare for release (#37) 2023-03-20 15:28:24 -04:00
DeploymentGuide.md Deployment guide to GCP (#44) 2023-03-24 09:49:06 -04:00
Development.md Deployment guide to GCP (#44) 2023-03-24 09:49:06 -04:00
Dockerfile Consolidate controller bootstrap login in `run` command (#38) 2023-03-21 15:36:55 -04:00
IntegrationGuide.md Resources support (#63) 2023-03-27 17:30:54 +04:00
LICENSE Prepare for release (#37) 2023-03-20 15:28:24 -04:00
README.md Deployment guide to GCP (#44) 2023-03-24 09:49:06 -04:00
buf.gen.yaml Port forwarding support (#30) 2023-03-14 11:31:13 -04:00
buf.work.yaml Port forwarding support (#30) 2023-03-14 11:31:13 -04:00
buf.yaml Port forwarding support (#30) 2023-03-14 11:31:13 -04:00
go.mod Resources support (#63) 2023-03-27 17:30:54 +04:00
go.sum Resources support (#63) 2023-03-27 17:30:54 +04:00

README.md

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

TBD