Setting a License

When the server is first launched the trial license comes into effect, which allows for 1GB of daily volume and a maximum of two targets. This will expire in 30 days.

$ hotrod license show
Hotrod Trial
Issued to: Trial User
Issued date: 2020-10-07 13:04:07 UTC
Expires: 2020-11-06 13:04:07 UTC

         | Current Usage | Maximum
---------+---------------+----------
 Targets | 0             | 2
 Bboxes  | 0             | 2
 Volume  | 0.00 B        | 1.00 GiB

After downloading a license file, it is straightforward to use it to activate:

$ hotrod license activate -f license.key
Issued to: PanoptixDev
Issued date: 2020-07-08 14:36:12 UTC
Expires: 2021-07-08 14:36:12 UTC

         | Current Usage | Maximum
---------+---------------+----------
 Targets | 0             | 1000
 Bboxes  | 0             | 0
 Volume  | 0.00 B        | 1.50 GiB

$ hotrod daemon logs
 timestamp           | level | message
---------------------+-------+---------------------------------------------------
 2020-10-07T15:04:15 | INFO  | user=admin successful login from 127.0.0.1:57122
 2020-10-07T15:08:06 | INFO  | license restored license installed
 2020-10-07T15:08:06 | INFO  | No Bbox support

There is another way to achieve the same goal: if the server sees an environment variable HOTROD_LICENSE_KEY and it contains 'KEY:', then it will activate using that.

$ export HOTROD_LICENSE_KEY='KEY:eyJ0eXAiOiJKV....'

The license is simply encoded in JWT format (this site is useful to examine the details of licenses)

For licensing purposes, the volume of a pipe is considered to be its widest step - the step which processes the most bytes/events.

If total allocated volume is exceeded, or a license expires, Hotrod goes into read-only mode. APIs for querying (like targets, pipes, volumes, etc) still work but you cannot add or modify targets or pipes. Existing pipes will continue to run.