* 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 |
||
|---|---|---|
| api | ||
| cmd/orchard | ||
| internal | ||
| pkg | ||
| rpc | ||
| .cirrus.star | ||
| .cirrus.yml | ||
| .gitignore | ||
| .golangci.yml | ||
| .goreleaser.yml | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| buf.gen.yaml | ||
| buf.work.yaml | ||
| buf.yaml | ||
| go.mod | ||
| go.sum | ||
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