CortexDB · docs

CortexDB 0.12.1 — your server runs under your company's license, and renews it by itself

0.12.1 is 0.12.0 plus licenses. Nothing else changed: the data format, the routes, the request and response shapes and the capabilities are 0.12.0's, and upgrading from 0.12.0 (or from 0.11.0, as in RELEASE_NOTES_0.12.0.md) is a drop-in replacement.

Getting 0.12.1. From https://customer.cortexdb.ai, Releases. The install commands there now start with your company's license (export CORTEX_LICENSE='…') and pass it to the server; run them as they are.

Summary

Upgrading from 0.12.0 or earlier

Add your license once: take the commands from the portal (they include it), or add -e CORTEX_LICENSE after export CORTEX_LICENSE='<your license>' to your own docker run, or paste the license on the console's License page after the upgrade. A server that has never had a license keeps serving for 14 days, so an upgrade never stops you; the console and the log say how long is left.

On a cluster, put CORTEX_LICENSE = "…" in each data node's [engine] table.

What the server sends

Renewal is one HTTPS POST to https://customer.cortexdb.ai/api/license/refresh carrying the license, a random id for the server and its version: nothing about your data or your usage. A few seconds after start, then every 6 hours (hourly in a license's last two weeks, every 15 minutes once it has ended). TELEMETRY.md, "License renewal", has the details.

Reference

SettingWhat it does
CORTEX_LICENSEThe license (the portal's commands set it). Needed once.
CORTEX_LICENSE_FILEA file holding it (a mounted secret).
CORTEX_LICENSE_URLWhere renewals come from; off stops them.
CORTEX_LICENSE_REFRESH_SECSCheck for a renewal at least this often (not under 60).

New error codes: 402 LICENSE_EXPIRED (the license and its grace have ended) and 402 LICENSE_REQUIRED (no license for more than 14 days). Both carry details.portal and, for an expired license, the company, the last day and your contact.

New internal console routes: GET /internal/ui/license, POST /internal/ui/license ({"token": "…"}), POST /internal/ui/license/refresh.