June 2022: Feature releases & highlights

Edge Enforcer installation, edge application observability

The June release addresses two essential areas:

Here is a live picture from my desktop, edge installer running left, and application observability UI to the right. Fun!

Screenshot of a Dell laptop showing the edge installer running on the left and the application observability UI on the right.

Automated host install

We have fully automated the first install procedure of the Edge Enforcer on the edge hosts. A one-liner makes all needed configuration, downloading, and installation steps:

curl -s https://api.test.acme.avassa.net/install | sudo sh

On the host, you just point curl to the install script that resides in Control Tower and pass that to the shell as shown above. This will install the Edge Enforcer and all its prerequisites. This process is supported for the Debian 11, Ubuntu 20.04, CentOS 9, and Alpine distributions.

A session might look like the below:

$ curl -s [https://](<https://api.acme.edge.avassa.dev/install>)[api.test.acme.avassa.net](<https://api.test.acme.avassa.net/install>)[/install](<https://api.acme.edge.avassa.dev/install>) | sudo sh
Saving output in /tmp/install.log
Installing Edge Enforcer on Ubuntu 20.04.4 LTS
Using Control Tower address api.acme.edge.avassa.dev
Using host id 6CFMR32
Installing jq... done
Updating /etc/docker/daemon.json...done
Restarting docker... done
Downloading Edge Enforcer container image... done
Flushing iptables... ok
Downloading start scripts
Installing /etc/systemd/system/supd.service... done
Installing /usr/sbin/start-supd... done
Creating directories: /var/lib/supd/state /etc/supd /var/lib/supd/volumes
Creating configuration file /etc/supd/supd.conf... done
Starting Edge Enforcer... done
Edge Enforcer successfully installed and started

Control Tower will only accept hosts that have the shared secret host id configured. You can pre-provision sites and hosts in Control Tower before you run the install script as above. In that case, they will immediately show up in Control Tower. If the Control Tower does not know the host, the install script will install and configure all dependencies and thereafter wait until the host is accepted. From that point, the Edge Enforcer is downloaded and installed. The screenshot below shows how to add the host to a site.

Screenshot showing how to add a host to a site in the Avassa Control Tower UI.

If you want to pre-provision the hosts the Avassa system also provides a command to get the host id before running the installer:

$curl -s https://[api.test.acme.avassa.net](<https://api.test.acme.avassa.net/install>)/scripts/get-host-id | sudo sh

These steps can easily be automated for a large edge deployment by using for example Ansible to do the job across hosts.

You can read more in the installation documentation.

Application observability

We have now released the first feature set for enhanced observability. You will see several feature enhancements during the coming months. This first step focuses on insights into the health of the applications running at the edge.

To the left, you see the “catalog” of applications that have been defined by your applications team and their running status at the edge. The application list will show connection issues to the sites where it is running, and indicate if any application issues need to be investigated.

Screenshot of the Avassa application catalog, showing application status and deployment details across sites.

At this point as an operations user, you can drill down to the individual sites that have an issue and inspect the details and logs of the application and its services and containers.

Screenshot showing application details, including site status, connection status, and version information.

Selecting an application a site will give you direct insight into services, containers, probes, and logs:

Screenshot showing service details, including host name, IP addresses, container status, and probe results.

From the above view you can for example restart the service:

Screenshot showing the option to restart a service within the Avassa UI.

You will also see any unexpected exits:

Screenshot showing an unexpected exit error for a container in the Avassa UI.

The observability functions will also propagate the state of a readiness probe to the service.

Screenshot showing the readiness probe in error state for a service in the Avassa UI.

All of the features are of course available over the APIs and the command line interface.

And have a lovely summer all of you!

Bless my tail! Whatever next! Moominpappa, from the book Finn Family Moomintroll


A Moominpappa mug sits on a laptop, the screen showing the Avassa UI. A stack of books is in the background.