Build License Tiers

All about the Anka Build Cloud license tiers

Anka License Feature Differences

Feature Develop Flow Build
Run Multiple VMs No Yes Yes
State Snapshot / Suspend VM (Anka 2 Only) No Yes Yes
USB Device Support (Anka 2 Only) No Yes Yes
Ability to join your machine as a Node to the Anka Build Cloud Controller No No Yes
Ability to push/pull templates to the Anka Cloud Registry No Yes Yes
Runs on all macOS hardware models No (Macbook models only) No (Macbook and iMac only) Yes

Anka Build License Tier Datasheet

Feature Basic Enterprise Enterprise Plus
Core based licensing Yes Yes Yes
Cloud Controller with REST APIs Yes(Single instance of Anka controller included) Yes(Single instance of Anka controller included) Yes
Central Registry Yes(Single instance Anka Registry included) Yes Yes
GitHub Action Yes Yes Yes
Jenkins Plugin Yes Yes Yes
TeamCity Plugin Yes Yes Yes
GitLab Runner with custom executor Yes Yes Yes
BuildKite Plugin Yes Yes Yes
HA for Controller configuration setup Yes (Additional controller/registry instances needed) Yes Yes
USB Device control through the CLI Yes Yes Yes
USB Device control through Controller API Yes Yes
Priority scheduling of VMs through controller Yes Yes
Clustering (Grouping) of Nodes Yes Yes
Basic controller authentication (Certificate & Root Superuser Token) Yes Yes
Multi-user & group authorization with admin panel + OpenID/SSO support Yes
Controller API event logging Yes

Enterprise License Features

Node Groups

node groups

This feature allows users to add Anka Virtualization Nodes to groups which can then be used to limit or isolate CI/CD tasks. You can even create fallback groups should the primary group you assign to a Node reach capacity. This is useful when you have multiple projects in your organization and wish to prevent certain projects from using all available VM slots.

Both the Controller UI and API allow creation and control of groups

You can assign a Node to a group in the Controller Nodes UI, API, or even when joining with ankacluster join --groups

Priority Scheduling

When requesting multiple VMs through the API, a priority can be assigned. The lower the priority integer, the higher the urgency:

# Request a VM with the highest priority (default priority is 1000)
curl -X POST "http://anka.controller/api/v1/vm" -H "Content-Type: application/json" \
  -d '{"vmid": "6b135004-0c89-43bb-b892-74796b8d266c", "count": 2, "priority": 1}'

{
  "status": "OK",
  "message": "",
  "body": [
    "c983c3bf-a0c0-43dc-54dc-2fd9f7d62fce",
    "e74dfc0e-dc94-4ca2-575e-3219ac08ffa2"
  ]
}
By default, nodes with the targeted Template (“vmid”) on them receive a higher priority compared with those that do not have the Template yet. This can make it seem as if some nodes are used more than others. We recommend distributing the Template to every node if this is a problem.

Event logging and automated pushing

You can enable Event Logging to create a log of actions performed in the controller. The logs are saved under:

  • Mac: /Library/Application\ Support/Veertu/Anka/registry/files/central-logs/
  • Docker (registry container): /mnt/vol/files/central-logs

event logging

Logged Events Type
StartVM apiAction
VMStarted systemAction
VMFailedToStart systemAction
TerminateVM apiAction
VMTerminated systemAction
DistributeTemplateToNodes apiAction
TemplatePulled systemAction
DeleteRegistryVm apiAction
ConfigNode apiAction
DeleteNode apiAction
NodeUnregistered systemAction

You can also specify an endpoint that consumes JSON and the controller will push the events.

Basic controller authentication (Certificate & Root Superuser Token)

Authentication support includes Root token authentication access to the Controller Dashboard and certificate authentication for the following clients: Build nodes, plugins, API access, anka command line access to the registry.

Enterprise Plus License Features

Multi-user & group authorization with admin panel + OpenID/SSO support

Multi-user access authentication and authorization based access to Controller portal dashboard and REST API operations is provided through OpenID/SSO based integration