Browse the documentation

Licensing

Community and Enterprise, applying a license, and enforcement.

Community and Enterprise

Without a license NetlyDB runs as the Community edition: the complete embedded, single-node engine, free to use under NetlySoft's license terms (the package's license file: all rights reserved, use governed by your license agreement with NetlySoft). Enterprise features need a license.

Enterprise features

FeatureEnabled by
Clustering & replicationJoinCluster(...)
REST APIAddNetlyDBAPI(...)
Management UIAddNetlyDBManagementUI(...)
MCP serverAddNetlyDBMCP(...)
Encryption at restSecurity.Encryption.Enabled
JWT / OIDC authenticationSecurity.EnableJwtBearer
Observability: the Management UI metrics dashboardthe Management UI Metrics page

Everything else is Community - including full-text and vector search, health checks, the NetlyDB metrics meter, backup and import, compression, schema validation, memory limits and API-key authentication.

Applying a license

Provide the license token in one of these ways, checked in this order:

  • In code - options.License.LicenseKey.
  • File - options.License.LicenseFilePath, a file containing the token.
  • Environment variable - NETLYDB_LICENSE (the name is configurable through options.License.EnvironmentVariable).
// 1) Inline license key (for example from configuration or a secret store)
builder.Services.AddNetlyDB(options =>
{
    options.License.LicenseKey = configuration["NetlyDB:License"];
});

// 2) From a license file
builder.Services.AddNetlyDB(options =>
{
    options.License.LicenseFilePath = "/etc/netlydb/netlydb.lic";
});

// 3) From an environment variable (default name: NETLYDB_LICENSE) - no code required
builder.Services.AddNetlyDB();
Where the license token is read from, and what happens with or without one Checked in this order License.LicenseKeyin code License.LicenseFilePatha file holding the token NETLYDB_LICENSEenvironment variable verified offline ECDSA P-256 signed token checked against a public key embedded in NetlyDB; no license server, no call home Then, at startup No licenseruns as the Community edition Enterprise feature, no licensestartup fails closed, naming the feature Expired licensekeeps working for the grace period default 14 days, with a warning logged
Where the token is read from, how it is verified, and the three outcomes at startup.

Offline verification

Licenses are signed tokens verified against a public key embedded in NetlyDB (ECDSA P-256). Verification is entirely offline: there is no license server and no call home, so licensed features work on machines without internet access. A license can also limit the number of cluster nodes.

Enforcement and grace period

With no license the process runs as Community. If you enable an Enterprise feature without a valid license, startup fails closed with an error that names the feature, instead of silently running degraded. An expired license keeps working during a grace period (options.License.GracePeriod, default 14 days), with a warning logged, so a renewal does not become an outage. The Management UI's Settings page shows the active license and which Enterprise features it enables.

An unhandled error has occurred. Reload X

Reconnecting

Restoring the connection to the server...

Still trying

Next attempt in seconds

Connection lost

We could not reach the server.