What is Anka?

Veertu’s Anka and Build Cloud is a suite of software tools built for small or enterprise level macOS virtualization needs. It enables the creation, storage, and management of macOS virtual machines (VMs), offering a user experience similar to what Docker and Docker Hub provide for container management, but with an added orchestrator component. Anka is specifically designed for DevOps, CI/CD, and Automation teams that need to build and test macOS or iOS applications.

Anka is a mature and battle-tested solution for small or large-scale macOS virtualization. Leveraging a combination of custom and Apple hypervisor/virtualization technology, Anka offers enhanced performance and security. It provides a simple CLI for generating Anka macOS VMs as well as tools like Packer. You can then manage the VMs as Templates/Tags in the Anka Registry (part of the Anka Build Cloud) and push/pull to and from hosts in your macOS cluster.

Alongside of the Anka Virtualization CLI is the Anka Build Cloud which serves as a unified management interface for Anka Build Nodes, VM Templates/Tags, VM instances, and logs. It features intelligent queueing and load balancing for handling numerous concurrent CI/CD job macOS VM requests. Additionally, it integrates with widely-used automation platforms and tools such as Jenkins, Github Actions, Buildkite, TeamCity, GitLab, and provides an API for custom integrations.

Anka is a robust and adaptable macOS virtualization platform that can enhance your DevOps and iOS CI/CD/Automation. It is straightforward to use and customize, and offers a broad array of features and capabilities.

Anka High Level

  • Easy to install and use; Docker-like experience.
  • Built on Apple’s native hypervisor and virtualization, utilizing macOS resource scheduling, power management, and consistency.
  • Optimized and configurable VM networking.
  • Optimized disk performance and optimizations to minimize host level usage.
  • Access to Paravirtualized Graphics (GPU) inside of VMs.
  • VM management through the Anka Virtualization CLI, UI app, or web based Build Cloud Controller UI and API.
  • Ability to suspended and then instantly start VMs from a specific state.
  • Attach physical USB devices (like an iPhone) to VMs for on-device testing.
  • Compatibility with T2 enabled Apple hardware and all Silicon.
  • Can be installed on any Apple supported macOS versions.
  • Install and run any modern and Apple supported macOS version inside of VMs.

DevOps teams implementing Anka can expect flexibility, allowing them to install onto existing infrastructure and automation – whether it’s cloud providers like AWS or on-premises! The Anka Virtualization package can be installed onto any macOS hosts. The Anka Build Cloud Controller & Registry can be ran as standalone binaries, a docker-compose package and also with our Build Cloud Controller & Registry Helm Chart for Kubernetes users.

You can find several CI/CD plugins or integrations we maintain for our users that abstract the lower level work of pulling and starting VMs for your jobs. Whether it’s on-demand/ephemeral, long-running, and single-use macOS VMs for your developers, iOS, or native app building/testing/CI/CD, Anka will be a good fit for you.

Anka also enables a docker-like experience for teams to create and store project specific VM templates (a.k.a “images”) and tags, including commands to interact with the VM like start, stop, clone, suspend, modify the VM configuration (like cpu or ram), and execution of VM level shell commands.

  • Use the Anka Virtualization CLI and Packer to create Anka VM Templates for different versions of macOS, Xcode, etc.
  • Store your VM Templates with a specific Tag in the Anka Build Cloud Registry so you can distribute or pull them to different machines and ensure the same starting VM state for every single CI/CD job that runs a VM. You can clone all VMs from a single base VM and they will re-use layers, optimizing disk space on both the Registry and Anka Nodes/hosts.

Anka Registry pull and show VM


Anka Virtualization CLI

There are many ways in which our customers utilize the Anka Virtualization CLI to automate the VM creation and preparation process:

  • Through the anka create command on the host machine:
    ❯ anka create 13.1 13.1-arm
    
  • By executing your project installation commands and scripts inside of VMs from the host terminal with anka run and also directly inside the VM with anka cp & anka run.
  • Any manual steps you need to perform in the GUI can be done through VNC or automated with Anka Click Scripts.
  • Create Packer Templates and run them to perform the steps for VM creation and preparation with our packer builders and post-provisioner..


Check out the Getting Started installing and using Anka CLI Guide.

Anka list start and run

  1. Review the Glossary.
  2. Install Anka Virtualization Package.
  3. Follow the rest of the Getting Started guide.


Anka Build Cloud

Accompanying the Anka Virtualization package which runs on macOS hardware, we provide the Build Cloud Controller & Registry. Below are two of the most popular examples of how our customers set up Anka Virtualization with the Build Cloud.



Check out the Getting Started setting up and using the Anka Build Cloud guide.


Controller-less (Registry Only)

This setup requires:

  1. At least one Anka Node (macOS host running the Anka Virtualization software).
  2. A linux container running the Anka Build Cloud Registry.
  3. Your CI/CD’s runner/agent installed and able to execute anka CLI commands to prepare and use the Anka VM. For example, install the github actions runner and then use our action.

Controller-less

Controller + Registry

This setup requires:

  1. At least one Anka Node (macOS host running the Anka Virtualization software).
  2. A linux container running the Anka Build Cloud Controller & Registry.
  3. Our plugin installed in your CI/CD tool (like the Anka Jenkins Plugin). See a full list of plugins available on our CI Plugins and Integrations page.

Controller+Registry


Questions? Connect with us

  • Email: Email us for any questions
  • Twitter: Follow us on Twitter to get the latest news!
  • Slack: Chat with us on slack

What is Anka?

All about Veertu’s Anka Software

Anka on AWS EC2 Macs

Up and running fast, with Anka and Amazon (AWS) EC2 Macs

Anka Develop

A limited but free version of our Anka Virtualization software available for developers using laptops

Anka Flow

Anka Flow enables the developers to create and work inside Anka macOS VMs on their local machines

Licensing

Detailed information on Anka Licensing

Glossary

Glossary of Terms

FAQS

Frequently Asked Questions