Licensing

AWTS modules require a valid license to run. The license key permits the module(s) to run, and governs the availability of certain functionality - as described in the plan you subscribe to.

As the modules run in your own infrastructure, the license key must be configured to be supplied to it.

Typically, the Configurator generates configurations that include license keys automatically. In most scenarios you should not need to do any manual configuration and can ignore this section.

Online/offline licensing

Online licensing

For online licensing, the key is a short random string. The module will verify the license online with our servers both on startup and periodically during operation. No other data is transmitted; only your license key is sent and an updated licensing token received.

Online license keys do not need to be manually renewed/updated and will work for as long as you have a valid account.

AWTS will emit warnings to the logs if there are any problems refreshing license tokens (e.g. if your subscription has expired).

Offline licensing

Offline licensing uses a long-lifetime token so that modules can verify and use the license without making any network connection; your environment can then be configured to block outbound connections as part of our Security philosophy.

Offline licenses expire when your subscription plan expires - new licenses can be obtained online in the Configurator and pasted into your local configuration. The simplest way to do this is typically to re-download the configuration files and replace your old local copy.

AWTS modules will emit warnings to the logs automatically at least two weeks before the configured license expires, allowing time for you to obtain an updated key from the Configurator and update your local configuration.

Checking license status

You can check your environment's current licensing status either with the Licensing widget in a dashboard, or with the awts admin license CLI command as shown below:

❯ awts admin license
┌──────────────────────────────────────────────────────────────────────────────────────┐
│ License status                                                                       │
├───────────────┬──────────────────────┬───────────────────────────────────────────────┤
│ FIELD         │ VALUE                │ DESCRIPTION                                   │
├───────────────┼──────────────────────┼───────────────────────────────────────────────┤
│ Tier          │ Free                 │                                               │
│ Expires       │ 2024-05-01T19:34:01Z │ When the license expires                      │
│ MaxModules    │ Unlimited            │ Max # concurrently registered/running modules │
│ Upstreaming   │ false                │ Connect to upstream AWTS environments         │
│ Remotes       │ false                │ Connect to remote data sources                │
│ Services      │                      │ Services allowed                              │
│ Modules       │                      │ Modules allowed                               │
│ SameHost      │ Apps                 │ CLI and dash may run over the network         │
│ LicensingMode │ Online               │                                               │
└───────────────┴──────────────────────┴───────────────────────────────────────────────┘

Configuring the license

The license is set by setting the license entry in a configuration file, by setting the --license=XX command-line argument, or the AW_LICENSE environment variable.

When using Mux, only Mux needs the license to be set. Mux will automatically propagate license details to all registered modules - and handle refreshes/changes automatically.

Server logs emitted by the modules confirm license status. You can also use the CLI tool to manually check license status - the output confirms the parameters/limits applied by the license:

❯ awts admin license
+------------------------------------------------------------------------------------+
| License status                                                                     |
+-------------+----------------------+-----------------------------------------------+
| FIELD       | VALUE                | DESCRIPTION                                   |
+-------------+----------------------+-----------------------------------------------+
| Expires     | 2024-02-16T20:25:38Z | When the license expires                      |
| MaxModules  | Unlimited            | Max concurrently registered/running modules   |
| Upstreaming | true                 | Upstreaming support                           |
| SameHost    | All                  | All modules must run on the same host/machine |
+-------------+----------------------+-----------------------------------------------+