Skip to content
Docs / dflux TinyCore
ContactGet started

Licensing

One tinycore license grant covers the NF processes (d3x-core-dmf, d3x-core-dpf, d3x-core-nrf, d3x-core-upf, and optional NSSF/SMSF). This page explains where the file lives, how to override the path, and how grace and renewal work.

d3x ships dflux TinyCore with a signed license for the tinycore product. Every NF binary — d3x-core-nrf, d3x-core-dmf, d3x-core-dpf, d3x-core-upf, and the optional d3x-core-nssf / d3x-core-smsf — reads the same grant. There is no separate license per NF: point every binary at the same file. The license is yours to keep; only the download link for the binaries is time-limited.

Startup is fail-closed
A missing, invalid, or out-of-scope license is fatal at process start — the NF refuses to run. After a successful start, daily expiry re-checks only log warnings; they never tear down a running data plane.

Default path

License resolution (same for every d3x product binary):

  1. D3X_LICENSE_FILE when set (explicit override).
  2. /etc/dflux/d3x.lic when that compound file exists.
  3. /etc/dflux/tinycore.lic — per-product fallback.
Bash

Overriding the path

Point every NF at a custom path with the environment variable:

Bash

There is no -license-path flag and no license_path config key — path selection is solely via D3X_LICENSE_FILE or the default files under /etc/dflux/.

Startup output

On startup each NF reads the license and logs who it's licensed to, the edition, and the expiry:

Code

Grace and expiry

At startup the gate enforces product scope and expiry (with a grace window defined by the license library). An unlicensed start fails closed. Once running, each NF re-checks daily and escalates warnings as expiry approaches or passes — it does not self-terminate the data plane.

Offline and air-gapped

License verification is fully offline. No NF phones home, contacts a license server, or needs any network access to validate the license — verification happens locally from the file alone. dflux TinyCore runs unchanged in air-gapped environments.

Renewal

To renew, request a fresh license file from d3x and replace the file in place — overwrite /etc/dflux/tinycore.lic (or whatever path D3X_LICENSE_FILE points at) and restart each NF. The new licensed-to / expires line in the startup log confirms the renewal took effect. Because the file is shared, you only update it once per host.

Where to go next

Ready to bring the core up? Follow the Quickstart, or install the binaries first with the Installation guide.