AMS configuration

The Anbox Management Service (AMS) provides various configuration items to customise its behaviour. The following table lists the available configuration items and their meaning.

Name
(Type, Default)

Description

agent.api.fingerprint
(string, N/A)

Fingerprint of certificate in the AMS trust store which is trusted when communicating with the stream agent

agent.api.token
(string, N/A)

Token to be used for API authentication with stream agent

agent.api.url
(string, N/A)

URL for stream agent API endpoint

application.addons
(string, N/A)

Enable addons globally for applications

application.auto_publish
(boolean, True)

Automatically publish the latest version for an application

application.auto_update
(boolean, True)

Automatically update the images and applications to the latest versions

application.default_abi
(string, N/A)

Set a default support ABI architecture globally

application.max_published_versions
(integer, 3)

Set the maximum number of application versions to publish

container.apt_mirror
(string, N/A)

APT mirror to use for downloading dependencies inside the container

container.default_platform
(string, null)

Platform to be forwarded to the container for running audio/video operations

container.features
(string, N/A)

Enable additional android features

container.security_updates
(boolean, True)

Enable/disable security update for containers

core.debug_address
(string, N/A)

Address used to expose debug information on

core.proxy_http
(string, N/A)

Proxy variables inside container

core.proxy_https
(string, N/A)

Proxy variables inside container

core.proxy_ignore_hosts
(string, N/A)

Proxy variables inside container

core.trust_password
(string, N/A)

Trust password used to add remote clients. AMS does not expose the actual password but only the fact that it is set or not.

cpu.limit_mode
(string, scheduler)

CPU limiting strategies used for a container

gpu.allocation_mode
(string, single)

GPU allocation mode

gpu.type
(string, none)

GPU type. Can be none, nvidia, intel or amd

images.allow_insecure
(boolean, N/A)

Allow insecure TLS for accessing image registry

images.auth
(string, N/A)

Auth token required to access the image registry

images.update_interval
(string, 5m)

Interval used to check for image updates

images.url
(string, https://images.anbox-cloud.io/stable/)

Image registry URL

images.version_lockstep
(boolean, True)

Lock latest image version to align with latest AMS version

instance.apt_mirror
(string, N/A)

APT mirror to use for downloading dependencies inside the instance

instance.default_platform
(string, null)

Platform to be forwarded to the instance for running audio/video operations

instance.features
(string, N/A)

Enable additional android features

instance.security_updates
(boolean, True)

Enable/disable security update for instance

load_balancer.url
(string, N/A)

Set host URL for AMS to loadbalancer’s URL

node.queue_size
(integer, 100)

Queue size for internal AMS workers

node.workers_per_queue
(integer, 4)

Number of internal workers for AMS

registry.filter
(string, N/A)

Tag filters used for selecting applications when interacting with the registry

registry.fingerprint
(string, N/A)

Fingerprint used to verify the ceritifcate of the application registry

registry.mode
(string, pull)

Mode used to interact with the registry

registry.update_interval
(string, 1h)

Interval used for checking for updates to applications

registry.url
(string, N/A)

Application registry URL

scheduler.strategy
(string, spread)

Container scheduling startegy

Node-specific configuration

In a cluster setup, there are configuration items that can be customised for each node. The following table lists the available configuration items and their meaning.

Name
(Type, Default)

Description

cpu-allocation-rate
(number, N/A)

Update the CPU allocation rate for the node

cpus
(integer, N/A)

Update the number of CPUs for the node

gpu-encoder-slots
(integer, N/A)

Update the number of GPU encoder slots to configure on the node

gpu-slots
(integer, N/A)

Update the number of GPU slots to configure on the node

gpus.<id>.encoder-slots
(integer, N/A)

Update the number of GPU encoder slots

gpus.<id>.slots
(integer, N/A)

Update the number of the GPU slots available on the Node

memory
(string, N/A)

Update the memory (in GB) for the node

memory-allocation-rate
(number, N/A)

Update the memory allocation rate for the node

public-address
(string, N/A)

Update the public IP Address of the node

subnet
(string, N/A)

Update the subnet info of the node if the subnet of a node is changed

unscheduable
(boolean, N/A)

DEPRECATED Flag in favour of unschedulable flag

unschedulable
(boolean, N/A)

Flag used to remove the node from scheduler and not schedule containers on it

See How to configure cluster nodes for instructions on how to set these configuration items.

Objects managed by AMS

AMS manages various objects such as applications, images, instances, nodes and addons.

The object names must adhere to the following criteria:

  • Minimum character limit: 3

  • Maximum character limit: 255

  • Can contain:

    • Alphabets (a-z, A-Z)

    • Numbers (0-9)

    • Allowed special characters: - (hyphen), _ (underscore), : (colon), . (period).

When you create an instance, the same criteria apply to the following options as well:

  • boot_activity

  • platform

  • boot_package

The object ids are generated by AMS and have a length of 20 characters.