Licensing
All Agile Content Processing products require a valid license file to operate. For the
server products a few endpoints such as /metrics
and /licensing
are accessible
without a valid license, but the core functionality requires a license.
The license file
The license file must be obtained from Agile Content along with your software. Depending on your agreement the file will contain either an online or offline license. For online licenses, the machine running the service, must have an internet connection, in order to access the license server.
The command-line products, such as ew-vodingest
only support offline licenses.
Using the license file
The license must be placed in: /etc/edgeware/<product-name>/license.json
e.g:
/etc/edgeware/ew-vod2cbm/license.json
You must never attempt to edit the license file. When you receive a new
license.json
, and your product is a service, the service must be restarted.
License expiry
Your product will not work beyond the expiry date.
For online as well as offline licenses the server product logs will warn
you that the service is about to expire, when the expiry date is closer than
7 days. For automatic expiry monitoring, the /licensing
HTTP endpoint is recommended.
Please note that there will be no warning before expiry for command-line products.
When the service, under a valid service contract, is about to expire, your license must be renewed:
- For online licenses, Agile Content should renew your service license on a
central license server. The licensing status can be checked by
calling the
/licensing
endpoint (see below). - For offline licenses, you should obtain a new license file.
Online licenses
Less than three minutes after a service is started it starts to query the license server periodically. In case of temporary network or license server outages (up to 2 hours), your service will continue to function.
Checking the license: /licensing
endpoint
You may query status of your license by querying your service with the /licensing
endpoint. The response, in JSON-format, looks like:
$ curl localhost:8090/licensing
{
"status": "valid",
"pending_until": "",
"expiry": "2022-12-31T23:59:29Z",
"invalid_reason": "",
"license_type": "online"
}
The call will return "status": "pending"
during temporary network outage and
for less than three minutes after the service has been restarted. The response for
an expired license looks like:
{
"status": "invalid",
"pending_until": "",
"expiry": "2021-12-31T23:59:29Z",
"invalid_reason": "expired",
"license_type": "online"
}
Checking the license: server log
If the service has, or is about to expire, the server log will show the status
under "topic":"licensing"
. For example:
{"level":"warn","request_id":"adam/HLYRsgfrwz-000005","topic":"licensing",
"LicenseExpiryDate":"2022-08-30T23:59:09Z","time":"2022-08-24T11:42:28Z",
"message":"License will expire in less than 7 days, please remember to get a renewed license"}
These log messages only appear when a licensed endpoint e.g. /segment_times.json
is called.