Feature | Develop | Flow | Build | Secure |
---|---|---|---|---|
Run Multiple VMs | No | Yes | Yes | Yes |
State Snapshot / Suspend VM | No | Yes | Yes | Yes |
USB Device Support | No | Yes | Yes | Yes |
Ability to communicate with Anka Build Cloud (Controller & Registry) | No | Yes | Yes | Yes |
Runs on all macOS hardware models | No (Macbook and iMac only) | No (Macbook and iMac only) | Yes | No (Macbook and iMac only) |
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 activity logging | Yes | ||
VM full disk encryption for Build VMs | Yes | ||
Control VM runtime (Networking, Access to host) and functional properties with policies | Yes |
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
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"
]
}
USB device control is possible using the Anka Virtualization CLI with a non-Enterprise license. However, this doesn't allow you to control devices using the Controller API. With an Enterprise or higher license, you can attach one or more devices to your Anka VMs by making an API call:
# Claim a device using the location ID
curl -X POST "http://anka.controller/api/v1/vm" -H "Content-Type: application/json" \
-d '{"vmid": "6b135004-0c89-43bb-b892-74796b8d266c", "count": 2, "usb_device": "336675856"}'
{
"status": "OK",
"message": "",
"body": [
"c983c3bf-a0c0-43dc-54dc-2fd9f7d62fce",
"e74dfc0e-dc94-4ca2-575e-3219ac08ffa2"
]
}
You can enable Event Logging to create a log of actions performed in the controller. The logs are saved under:
/Library/Application\ Support/Veertu/Anka/registry/files/central-logs/
/mnt/vol/files/central-logs
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.
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.
Multi-user access authentication and authorization based access to Controller portal dashboard and REST API operations is provided through OpenID/SSO based integration.
Encrypt the build VM template at the time of VM creation and store it in the Anka Registry in an encrypted state. When this VM is used to build on the Anka Build nodes, it will be decrypted.
Manage the Build VMs access to local and remote resources through policies. This includes the ability to control VM access to host shared folders, USB, disk access, networking, and external networking.
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.