* Remove UID for now and use machine ID to differentiate workers * Rename MetadataWorkerKey back to MetadataWorkerNameKey |
||
|---|---|---|
| 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