Licensing¶
Sapsan is licensed with a license file issued to the customer at purchase. You can download the license key yourself from the client area on my.flussonic.com.
The license is verified online: the server needs internet access to the Flussonic licensing servers. Without internet access Sapsan will not work.
The Flussonic licensing servers are distributed across continents and regions — the failure of a single server or the unavailability of a whole region does not affect license verification.
Note
Sapsan never updates itself. There is no forced-update functionality, and there never will be: license verification does not change the installed software, and a version upgrade is always an explicit administrator action through the package manager.
Files¶
The license is a single file you place next to the config; Sapsan creates the rest itself in the state directory during activation.
| File | Location | Contents |
|---|---|---|
license.txt |
/etc/sapsan/ (next to sapsan.yaml) |
the license key issued at purchase |
server.id |
/var/lib/sapsan/ |
unique server identifier (UUID) |
activation-<version>.json |
/var/lib/sapsan/ |
activation for a specific product version |
keys/ |
/var/lib/sapsan/ |
directory with key material generated by Sapsan |
Environment variables control where Sapsan looks for files:
- State directory —
SAPSAN_STATE_DIR, else the parent ofSERVER_ID_PATH, else the current working directory. The deb package and Docker image setSERVER_ID_PATH=/var/lib/sapsan/server.id, so the state directory is/var/lib/sapsan. - License file —
LICENSE_PATH, else{dirname(CONFIG_PATH)}/license.txt, else{state_dir}/license.txt. WithCONFIG_PATH=/etc/sapsan/sapsan.yamlthis is/etc/sapsan/license.txt.
See installing and running for how to place the license before the first start.
States¶
| State | When | What works |
|---|---|---|
Licensed |
the license is verified | everything |
Restricted |
the license is absent, expired, or failed verification | the admin interface stays available, streaming is limited |
The current license status is served by the API: GET /streamer/api-v4/license/status.