Orchard v2.6.0
Thank you for using Orchard, and for the bug reports, ideas and pull requests that keep making it better. If it's useful to you, please consider starring Orchard on GitHub. It takes a second and helps other people find it.
Changes
Added
- Clusters can have worker nodes (#87). With Apple container 1.6.0 or later, Create Cluster has a Workers field under Advanced. With no workers the cluster is one node that also runs workloads, as before. With workers, workloads run on the workers only, and each worker gets the same CPUs and memory as the control plane. Workers can only be chosen when a cluster is created, because Apple container can't add a node to a running cluster yet. Recreate keeps the worker count, and deleting a cluster removes its workers. Load Image can load an image into every node, which is the default, or only the nodes you pick. On container 1.5.x neither control appears, and the single-node notice now says that 1.6.0 adds workers.
- A cluster with more than one node can be expanded in the Clusters list to show its nodes, with their roles and status. Selecting a node shows its container's detail. The left and right arrow keys expand and collapse a cluster and move between it and its nodes, as in a Finder list.
- Clusters can be created with no CNI, for installing your own (#135). With Apple container 1.6.0 or later, the CNI choice under Advanced in Create Cluster is Default (kindnet), Custom manifest or None (install your own). With None the create finishes without waiting for the nodes, which stay NotReady until you install a CNI with kubectl or Helm, so Cilium, Calico and other CNIs that a single manifest can't express can be used. Until then the cluster reads "Waiting for CNI" in the list, and its detail explains what to do next. Orchard checks the nodes from inside the control plane, so this needs no kubectl on your Mac, and the state clears once every node is Ready. Recreate keeps the choice.
- Containers can be committed to an image (#133). With Apple container 1.6.0 or later, Commit… in the container's detail header, Commit to Image… in the containers list's context menu and "commit " in the Cmd+K palette open a sheet that asks for the image name, suggesting
<container>:latest. A running container is snapshotted first and keeps running. The image holds the container's filesystem as one layer and starts the way the container did, with the same command, user, environment, working directory, labels and stop signal; ports, volumes and the healthcheck aren't carried over. The container's executable becomes the image's entrypoint, so running a different program means overriding the entrypoint, not just the command. If an image with that name already exists, the sheet says so and asks before replacing it. The sheet shows each step while it runs and, when it's done, links to the new image in the Images tab and can run it. Orchard does this through the same client libraries ascontainer commit, without running the CLI. - Container machines can be created with an account of your choosing (#136). With Apple container 1.6.0 or later, Create Machine has an Account section with User, UID, GID and Home Directory fields. Each starts empty, with your Mac user's value as its placeholder, and only the fields you fill in are sent, so a machine created without touching them still gets your Mac user. The machine's detail view shows the account and its Linux home next to the home mount. The account can't be changed after creation, because Apple container has no way to change it. The user, UID and home directory must not already exist in the image, such as
ubuntuor UID 1000 on Ubuntu images, or the machine can't set up the account when it first boots.
Changed
- The home mount captions in Create Machine now say that your Mac home folder is mounted at the same path, and that with read/write anything in the machine, including root through passwordless sudo, can change your files. The README and the machines guide say the same, following Apple's updated machine docs (#136).
- Orchard now builds against Apple container 1.6.0 (containerization 0.52.1), up from 1.5.0 (containerization 0.47.0) (#132). Container machines changed shape: images can no longer supply their own user setup script, and the machine's account is set by the runtime. Orchard still creates machines with your Mac user's name, UID and GID, as before, and still works with container 1.5.x.
Installation
brew install orchard
Already installed with Homebrew? Update with:
brew upgrade orchard
Download
- Download Orchard-2.6.0.dmg
- Open it and drag Orchard.app to your Applications folder
- Launch Orchard from Applications
Orchard also updates itself: when a new release is out, it offers the update in the app.
Checksums
- SHA256: Orchard-2.6.0.dmg.sha256
System Requirements
- macOS 26 (Tahoe)
- Apple container 1.6.0