This page is about your own hardened guest image, the macOS VM disk image your team deploys from. It’s not about MacStadium’s Orka host AMI, the underlying EC2 Mac instance image that runs Virtual Kubelet and Orka Engine. MacStadium builds and shares that AMI with your AWS account as part of your deployment; you don’t build or modify it. If you’re looking for that instead, see Getting started with Orka on AWS.
Overview
Building a hardened image follows the same OCI image workflow as any other custom image: deploy a base VM, make your changes, then save or push the result as a new image. The only difference is what you install and one important rule about identity.- Deploy a VM from a base image.
- Connect and install your security tooling.
- Verify the tooling is present and working.
- Save or push the VM as a new image.
- Deploy your team’s VMs from that image going forward.
Before you start
- An orka3 CLI session with permission to deploy VMs in your namespace. See Orka CLI quick start if you need to install it.
- The installer packages for your security tools (Rapid7, CrowdStrike, Jamf Protect, Microsoft Defender, Jamf Pro, or your own equivalents).
- If you’re pushing to a private registry instead of saving locally, registry credentials configured in your namespace.
1. Deploy a base VM
Start from one of the official vanilla macOS images, or your team’s existing base image if you already have one.vnc://<VM_IP>:<Screenshare_port> (default credentials: admin/admin).
2. Install your security tooling
Install each package. Most enterprise security tools support unattended installation, which is faster and more repeatable than installing through the GUI:3. Verify the tooling
Before saving, confirm each tool is actually present and functioning as expected, not just installed. At minimum:- The agent process is running (
ps aux | grep <agent>or the tool’s own status command). - The agent’s local logs show no errors from the install.
- If the tool has a lightweight local check (a CLI status command, a menu bar icon reporting healthy), use it.
4. Save or push the image
If you’re keeping the image on this cluster only:vm push authenticates against the Orka API server, not the registry, even though the error can look registry-related. If you see Unauthorized, run orka3 login (or orka3 user set-token) to refresh your Orka API token before retrying.5. Clean up and deploy
Delete the build VM once the image save or push completes:Deploying at scale
If your team deploys many VMs from this image, pre-cache it on your nodes (Apple silicon only) so new deployments don’t wait on a fresh pull:Keeping the image current
Security tooling updates on its own schedule, independent of Orka or macOS releases. Repeat this workflow whenever you need to bump agent versions or add a new tool, and save under a new tag (my-team-hardened-sequoia-v2) rather than overwriting the image your team is actively deploying from, so you can roll back if the new build has issues.
