Development & Tools

Orchard - Tart VM Orchestrator

Use Orchard - Tart VM Orchestrator with Macfleet Cloud
Orchard orchestrator managing Tart VMs on a cluster

Orchard is a powerful orchestration system specifically designed for managing Tart virtual machines at scale. Create and manage clusters of bare-metal Apple Silicon machines while controlling dozens of VMs with unprecedented ease. Built by the same team behind Tart, Orchard provides the missing piece for enterprise-scale macOS and Linux virtualization.

Key Features

  • Cluster Management: Orchestrate multiple Apple Silicon hosts from a single control plane
  • REST API: Simple and intuitive REST API for programmatic VM management
  • SSH/VNC Access: First-class support for accessing VMs over SSH and VNC
  • Single Binary: Distributed as a single binary with no external dependencies
  • Embedded Database: Uses BadgerDB for fast, embedded key-value storage
  • Secure by Default: All communication between controller and workers is encrypted

System Requirements

  • Controller: Linux or macOS host (any architecture)
  • Workers: Apple Silicon Mac devices (M1, M2, M3, M4)
  • macOS: 13.0 (Ventura) or later for workers
  • Network: Secure network connection between controller and workers
  • Storage: Minimal storage requirements for controller
  • License: Fair Source License (free for personal use)

Perfect For

  • CI/CD Teams: Scale macOS builds across multiple machines
  • Enterprise DevOps: Manage large fleets of Apple Silicon devices
  • Testing Teams: Provision VMs on-demand for testing workflows
  • Development Teams: Share macOS resources across development teams
  • System Administrators: Centralized management of Apple Silicon infrastructure

Using Orchard on Windows

While Orchard workers must run on Apple Silicon Macs, the controller can run on any platform, and Windows users can manage their clusters through cloud solutions:

Option 1: Cloud Mac Management (Recommended)

  • Use Macfleet to deploy Orchard workers
  • Advantages: No hardware procurement, instant scaling, professional support
  • Windows-based controller managing cloud Mac workers

Option 2: Hybrid Setup

  • Local Controller: Run Orchard controller on Windows (via WSL2)
  • Cloud Workers: Deploy Mac workers through cloud providers
  • Remote Workers: Connect to customer-owned Apple Silicon devices

How to Get Started with Orchard on Windows via Macfleet

  1. Plan Your Architecture: Determine how many VM instances you need
  2. Set Up Controller: Install Orchard controller on your Windows machine or cloud
  3. Deploy Workers: Use Macfleet to provision Apple Silicon workers
  4. Configure Cluster: Connect workers to your controller
  5. Start Managing: Use the REST API or CLI to manage your VMs

Latest Features

Core Orchestration:

  • VM Lifecycle Management: Create, start, stop, and delete VMs programmatically
  • Resource Allocation: Intelligent scheduling across available workers
  • Load Balancing: Distribute workloads across cluster nodes
  • Health Monitoring: Automatic worker health checks and failover
  • Cluster Scaling: Dynamic addition and removal of worker nodes

Advanced Capabilities:

  • Network Isolation: Secure networking between VMs and workers
  • Storage Management: Centralized storage for VM images and data
  • Backup Integration: Automated backup and recovery workflows
  • Monitoring: Built-in metrics and monitoring capabilities
  • API Authentication: Secure API access with token-based authentication

Why Choose Orchard for VM Orchestration

Simplicity Over Complexity:

  • No Kubernetes: Avoid the complexity of container orchestration
  • No Nomad: Purpose-built for VM management, not containers
  • Single Binary: Deploy without external dependencies
  • Embedded Database: No need for external database setup

Built for Apple Silicon:

  • Native Integration: Deep integration with Apple's Virtualization.framework
  • Optimized Performance: Designed specifically for Apple Silicon architecture
  • macOS Expertise: Built by the creators of Tart virtualization
  • Enterprise Features: Production-ready with security and reliability

Orchard Architecture

Controller Components:

  • REST API Server: HTTP API for VM management
  • gRPC Server: High-performance communication with workers
  • BadgerDB: Embedded key-value storage for cluster state
  • Scheduler: Intelligent VM placement and resource allocation

Worker Components:

  • Tart Integration: Direct integration with Tart virtualization
  • Resource Monitoring: Real-time resource usage reporting
  • VM Management: Local VM lifecycle management
  • Health Reporting: Continuous health status reporting

Development Mode

Get started quickly with local development:

# Install Orchard
brew install cirruslabs/cli/orchard

# Start development cluster
orchard dev

This launches a complete development cluster with controller and single worker on your local machine.

Production Deployment

Controller Deployment:

  • Single Instance: Deploy controller on a dedicated host
  • High Availability: Use backup and restore for controller state
  • Network Setup: Configure secure networking between controller and workers
  • Storage: Ensure reliable storage for BadgerDB

Worker Deployment:

  • Apple Silicon: Deploy workers on M1, M2, M3, or M4 devices
  • Network Security: Secure communication channels to controller
  • Resource Allocation: Configure CPU and memory limits per worker
  • Monitoring: Set up worker health monitoring and alerts

Enterprise Features

Security:

  • TLS Encryption: All communication encrypted by default
  • API Authentication: Token-based API access control
  • Network Isolation: Secure network isolation between VMs
  • Audit Logging: Complete audit trail of all operations

Management:

  • REST API: Complete programmatic control over cluster
  • CLI Tools: Command-line interface for operations
  • Web UI: Optional web interface for cluster management
  • Monitoring: Built-in metrics and alerting

Real-world Use Cases

Continuous Integration:

  • iOS Development: Scale iOS builds across multiple Mac devices
  • macOS Applications: Parallel testing on different macOS versions
  • Cross-platform: Coordinate builds across macOS and Linux VMs
  • Test Automation: Provision VMs for automated testing workflows

Development Environments:

  • Remote Development: Provide developers with on-demand macOS VMs
  • Team Collaboration: Share development resources across teams
  • Environment Consistency: Standardized development environments
  • Resource Optimization: Efficient utilization of Apple Silicon resources

Performance at Scale

Designed for Thousands:

  • VM Capacity: Manage thousands of VMs across clusters
  • Worker Scaling: Scale from single worker to hundreds of nodes
  • API Performance: High-performance REST API for automation
  • Resource Efficiency: Optimized resource utilization across workers

Operational Excellence:

  • Zero Downtime: Worker failures don't affect controller availability
  • Fast Recovery: Quick VM recovery and rescheduling
  • Monitoring: Real-time visibility into cluster health
  • Automation: API-driven automation for all operations

API Examples

Create a VM:

curl -X POST http://controller:8080/api/vms \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"name": "my-vm", "image": "ghcr.io/cirruslabs/macos-sonoma-base:latest"}'

List VMs:

curl -X GET http://controller:8080/api/vms \
  -H "Authorization: Bearer $TOKEN"

SSH to VM:

orchard ssh my-vm

Alternative Considerations

For Container Orchestration:

  • Kubernetes: If you need container orchestration, not VM management
  • Nomad: For mixed container and VM workloads
  • Docker Swarm: For simple container clustering

For Apple Silicon Virtualization:

  • Orchard is the only production-ready orchestrator for Tart VMs
  • Direct Tart usage for single-machine scenarios
  • Custom orchestration for specific use cases

Getting Started

Quick Start:

  1. Install Orchard: brew install cirruslabs/cli/orchard
  2. Start development cluster: orchard dev
  3. Create your first VM: orchard create vm my-vm
  4. Connect to VM: orchard ssh my-vm

Production Setup:

  1. Deploy controller on dedicated host
  2. Join Apple Silicon workers to cluster
  3. Configure networking and security
  4. Start managing VMs through API or CLI

Support and Community

Community Resources:

  • Documentation: Complete documentation at Orchard docs
  • GitHub: Source code and issues at GitHub
  • Discussions: Community discussions and support

Enterprise Support:

  • Professional Services: Implementation and consulting services
  • Priority Support: Enterprise support plans available
  • Custom Development: Custom feature development for enterprise needs

Transform your Apple Silicon infrastructure with Orchard - the orchestrator built specifically for Tart virtual machines. Whether you're scaling CI/CD pipelines or managing development environments, Orchard provides the simplicity and power you need to succeed.

Apple silicon as-a-Service

Discover why Macfleet is the preferred cloud provider for developers.