ams load balancer #87

Supports: bionic focal xenial

Description

A round robin Nginx load balancer to distribute traffic to AMS.


Anbox Cloud - AMS Load Balancer

Anbox Cloud offers a software stack that runs Android applications in any cloud enabling high-performance streaming of graphics to desktop and mobile client devices.

At its heart, it uses lightweight container technology instead of full virtual machines to achieve higher density and better performance per host while ensuring security and isolation of each container. Depending on the target platform, payload, and desired application performance (e.g. frame rate), more than 100 containers can be run on a single machine.

For containerization of Android, Anbox Cloud uses the well established and secure container hypervisor LXD. LXD is secure by design, scales to a large number of containers and provides advanced resource management for hosted containers.

Also have a look at the official Anbox Cloud website for more information.

AMS Load Balancer

The AMS Load Balancer is a specialized charm that should be deployed with the ams charm in High availability scenarios.

$ juju deploy cs:~anbox-charmers/ams-load-balancer
$ juju relate ams ams-load-balancer

# Optional: add more AMS units for High Availability
$ juju add-unit ams -n 2

For more information about the AMS Load Balancer, visit the official documentation on https://anbox-cloud.io/docs/installation/high-availability


Configuration

extra_packages
(string) Space separated list of extra deb packages to install.
host
(string) listen address
127.0.0.1
install_keys
(string) List of signing keys for install_sources package sources, per charmhelpers standard format (a yaml list of strings encoded as a string). The keys should be the full ASCII armoured GPG public keys. While GPG key ids are also supported and looked up on a keyserver, operators should be aware that this mechanism is insecure. null can be used if a standard package signing key is used that will already be installed on the machine, and for PPA sources where the package signing key is securely retrieved from Launchpad.
install_sources
(string) List of extra apt sources, per charm-helpers standard format (a yaml list of strings encoded as a string). Each source may be either a line that can be added directly to sources.list(5), or in the form ppa:<user>/<ppa-name> for adding Personal Package Archives, or a distribution component to enable.
nagios_context
(string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
juju
nagios_servicegroups
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
package_status
(string) The status of service-affecting packages will be set to this value in the dpkg database. Valid values are "install" and "hold".
install
port
(int) The port to run the loadbalancer
8444
proxy_timeout
(int) Timeout in seconds for reading a response from proxy server.
90