Orchestrator for running Tart Virtual Machines on a cluster of Apple Silicon devices
Go to file
Fedor Korotkov cdf5c5eb00
Simplified bootstrapping of a cluster (#40)
* Simplified bootstrapping of a cluster

Introduced a new convention about a pre-defined `bootstrap-admin` account for `orchard controller run`. Providing `ORCHARD_BOOTSTRAP_ADMIN_TOKEN` will auto-create such user for easier configuration. `bootstrap-admin` can be used for creating other service accounts on the first run and after that can be disposed.

Also change `orchard worker run` to expect controller URL as the only parameter and a bootstrap token passed via an argument instead of using a context that might not be created.

* Missing error check
2023-03-22 23:43:37 +04:00
api Port forwarding support (#30) 2023-03-14 11:31:13 -04:00
cmd/orchard Initial version of the Orchard orchestration system (#3) 2023-01-26 23:46:23 +04:00
internal Simplified bootstrapping of a cluster (#40) 2023-03-22 23:43:37 +04:00
pkg Simplified bootstrapping of a cluster (#40) 2023-03-22 23:43:37 +04:00
rpc Refactorings for simplify readability (#35) 2023-03-17 06:11:28 -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
Dockerfile Consolidate controller bootstrap login in `run` command (#38) 2023-03-21 15:36:55 -04:00
LICENSE Prepare for release (#37) 2023-03-20 15:28:24 -04:00
README.md Port forwarding support (#30) 2023-03-14 11:31:13 -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 Introduce "orchard ssh" and "orchard vnc" commands (#36) 2023-03-21 14:58:24 -04:00
go.sum Introduce "orchard ssh" and "orchard vnc" commands (#36) 2023-03-21 14:58:24 -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!

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